读书人

jsp页面得不到值。该怎么处理

发布时间: 2012-02-21 16:26:23 作者: rapoo

jsp页面得不到值。。
一个servlet向jsp页面传数据。

servlet里面我写了
request.setAttribute("totalPages", totalPages);
request.getRequestDispatcher("/WEB-INF/jsp/user/listUser.jsp").forward(request, response);

jsp页面写了一个小脚本
<%
String totalPages = request.getParameter("totalPages");
%>

jsp中一直是null,正确的应该怎么写呢?

[解决办法]
<%
String totalPages = request.getAttribute("totalPages");
%>
[解决办法]
注意如下红字部分

request.setAttribute("totalPages", totalPages);

<%
//String totalPages = request.getParameter("totalPages");
//上句改成如下:
String totalPages = request.getAttribute("totalPages");

%>
或${totalPages}


[解决办法]
1 request 设置的参数,只能在当前页面使用,所以只有forward的页面才能读取到。
2 setAttribute 对应的是 getAttribute

[解决办法]
二楼的正解,但request.getAttribute("totlaPages")得到的是Object类型的,所以当赋值给String的变量引用时,需要强转一下

Java code
String totalPages = [color=#FF0000](String)[/color]request.getAttribute("totlaPages")
[解决办法]
看来LZ Attribute和Parameter有点不分呀

setAttribute是对你页面的自己定义的对象进行操作的

而getParameter是对你的表单的元素进行操作的
[解决办法]
楼上正解,setAttribute是你对自己在后台经过处理的对象用于页面而用的,而getParameter是用于把网页上的表单中的数据传到后台处理用的,两个函数的使用场景是相反的

读书人网 >J2SE开发

热点推荐