两个jsp页面之间可不可以用request.getAttribute()??????
26.jsp代码:
<%
pageContext.forward("27.jsp");
pageContext.getRequest().setAttribute("mmm","m");
request.setAttribute("kkk","kkk");
%>
------------------------------------------------------------------------
27.jsp代码:
<%
String str=(String)request.getAttribute("mmm");
String kkk=(String)request.getAttribute("kkk");
%>
<h5>m:<%=str %></h5>
<h5>kkk:<%=(String)request.getAttribute("kkk")%></h5>
--------------------------------
结果: m:null
kkk:null
以解决
pageContext的属性范围是:只在一个页面中有效,跳转后无效
首先如你所问 两个jsp页面之间request.getAttribute() 是完全可以用的
你不需有任何的疑问
其次如猛衫果这这间出现了问题 就像你迟知好这样取不到值 那必然是其他原因了
再看你以上的代码
pageContext.forward("码铅27.jsp");
跳转后 其实你没有往request中设置任何变量
疑问你是跳转后才设置的值
以下是完全没有问题的 试试吧
pageContext.getRequest().setAttribute("mmm","m");
request.setAttribute("kkk","kkk");
pageContext.forward("27.jsp");
不可以的肢悄,你可以用session传值,如果用悔孝request传值要用表达式传值,如
<a href="index.jsp?n="request.getAttribute()"><历前渣/a>
注意:代码一旦执行了跳转操作,那么跳转下面的代码就不会再被执行了.也就是说历孝
pageContext.getRequest().setAttribute("mmm","m");
request.setAttribute("kkk","kkk");
这2行代肢碰稿码吵斗不会被执行
他的作用域只是一个请求 没请求了就不好使了 你可以把request改成session 就好了
<谈仿腔%
pageContext.getRequest().setAttribute("mmm","m");
request.setAttribute("kkk","kkk");
pageContext.forward("27.jsp");
%>含衫
这样试试大橡