jsp 内置对象 param 问题

cooc123 发布于 2011/09/20 16:53
阅读 5K+
收藏 0
    request.setCharacterEncoding("UTF-8");
    String webapp = request.getServletContext().getRealPath("/");
    String weburl = "http://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath();
    String webname = "dddddddddd";
    request.setAttribute("webapp", webapp);
    request.setAttribute("webname", webname);
    request.setAttribute("weburl", weburl);
      out.write("<link rel=\"stylesheet\" href=\"");
      out.print(request.getAttribute("weburl"));
      out.write("/admin/images/default.css\" type=\"text/css\" media=\"screen\" />\n");
      out.write("<script src=\"");
      out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.evaluateExpression("${param.weburl}", java.lang.String.class, (PageContext)_jspx_page_context, null));
      out.write("/admin/admin.js\"></script>\n");

上面是编译后的代码

源代码
<link rel="stylesheet" href="<%=request.getAttribute("weburl")%>/admin/images/default.css" type="text/css" media="screen" />
<script src="${param.weburl}/admin/admin.js"></script>

为什么${param.weburl} 没有取到值

ie 查看源代码是
<link rel="stylesheet" href="http://localhost:8080/cmblog/admin/images/default.css" type="text/css" media="screen" />
<script src="/admin/admin.js"></script>
加载中
1
星星爷
星星爷

param不是JSP的内置对象, 是EL中的

${param.name}等价于request.getParameter("name"),{param[name]}也是一样的

${params.name}等价于request.getParameterValues("name")

注意:

1、${requestScope.name} 等价于 request.getAttribute("name")

2、上面没有指出从哪个scope中取,所以按顺序检测那四个scope

3、最好用${xxsScope.name} ,不用 ${param.name}

0
鉴客
鉴客
从没听说过 jsp 内置了 param 参数,没这回事。
0
cooc123
cooc123

引用来自“鉴客”的答案

从没听说过 jsp 内置了 param 参数,没这回事。

<c:if test="${param.type=='basic'}">

</c:if>

 

${param.type} 可以获取到值啊

0
scl33
scl33

JSP的内置对象中有没param, 这可能是你的框架提供的, 不是内置的.

根据你的写法, 试试${pageContext.request.weburl}

0
cooc123
cooc123

引用来自“scl33”的答案

JSP的内置对象中有没param, 这可能是你的框架提供的, 不是内置的.

根据你的写法, 试试${pageContext.request.weburl}

没有用框架啊
0
磊神Ray
磊神Ray

为什么不这样呢

 

<script src="<%=request.getAttribute("weburl")%>/admin/admin.js"></script> 

返回顶部
顶部