今天在做struts2实验的死后遇见了一个诡异的问题,望各位大大帮忙想想问题出在哪。在jsp中使用了request.setAttribute放入一个值;然后无论是在Action中,还是在另一个jsp中,使用request.getAttribute将其取出,得到的都为空;但是,在页面上我也同时使用了隐藏域,在Action和jsp都能正确的通过request.getParameter获取到值。如:
第一个jsp的代码: <%request.setAttribute("mes", "123"); %>
<form name="1" action="2.jsp">
<input type="hidden" value="hidden" name="hidden"/>
<input type="submit" value="go"/>
</form>
跳转页面的jsp代码:<%String s = (String)request.getAttribute("mes");
String r = request.getParameter("hidden");
%>
<%=s %>
<%=r %>
页面显示的结果:
null hidden 这个问题是什么原因造成的呢?难道是request.setAttribute没有将值放入到request中?
这种问题,不大不小,如鲠在喉啊,十分难受,望各位前辈不吝赐教啊~~~~~~~~
第一个jsp的代码: <%request.setAttribute("mes", "123"); %>
<form name="1" action="2.jsp">
<input type="hidden" value="hidden" name="hidden"/>
<input type="submit" value="go"/>
</form>
跳转页面的jsp代码:<%String s = (String)request.getAttribute("mes");
String r = request.getParameter("hidden");
%>
<%=s %>
<%=r %>
页面显示的结果:
null hidden 这个问题是什么原因造成的呢?难道是request.setAttribute没有将值放入到request中?
这种问题,不大不小,如鲠在喉啊,十分难受,望各位前辈不吝赐教啊~~~~~~~~
RequestDispatcher rd = new RequestDispatcher();
rd.forward(request, response)
遇到这样问题可以试试本页面输出看看储存情况,再试跨页面的读取。
一样的代码不行当然是作用域的问题喽~~~