日期:2014-05-18  浏览次数:20652 次

EL取不到参数吗
我在a.jsp里
    <body>
        <a   href= "b.jsp?id=aaa "> b </a>   <br>
        <%
        String   bbb= "bbb ";
        request.setAttribute( "bbb ",bbb);
          %>
    </body>

在b.jsp里
<c:out   value= "${id   } "/>         取不到值
<c:out   value= "${bbb} "   default= "no "/>     输出为no
不知道什么原因

------解决方案--------------------
<%@ taglib uri= "http://sun.java.com/jsp/jstl/core " prefix= "c " %>
------解决方案--------------------
这个问题昨天之前我也没搞懂,不过现在懂了。感谢csdn!

把${id}改成${param.id};

通过 <a> 到别的页面的话。这两个页面不是一个request作用区间.
就不可以取request属性了。
你把 <a> 换成 <jsp:forward page= "b.jsp "/> 就可以了。
------解决方案--------------------
你试试用value=${requestScope.bbb}!!
------解决方案--------------------
真正的原因:

request的作用范围只限于提交,如果用servlet,则可以用RequestDispather把RequestDispatcher rd = request.getRequestDispatcher( "你的jsp页面 ");
rd.forward(request, response);
这样,就等于是把request的作用范围一块给了你的jsp页面。
如果只用jsp,就不可以了。