Jsp 将setAttribute问题放入servlet
我尝试将请求的属性传递到servlet中,但不知何故,它似乎不起作用:Jsp 将setAttribute问题放入servlet,jsp,servlets,Jsp,Servlets,我尝试将请求的属性传递到servlet中,但不知何故,它似乎不起作用: try{ request.setAttribute("str","test"); request.setAttribute("compt",compt); request.setAttribute("raton",raton); //I tried with different types // request.getParameterMap().size() always
try{
request.setAttribute("str","test");
request.setAttribute("compt",compt);
request.setAttribute("raton",raton); //I tried with different types
// request.getParameterMap().size() always evaluate to 0 instead of "the number of arguments"
Map<String, String[]> parameters = request.getParameterMap();
for(String parameter : parameters.keySet()) { //is never looped
String[] values = parameters.get(parameter);
for(String v : values) out.println(v);
}
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
catch(Exception ex){
ex.printStackTrace();
}
试试看{
setAttribute(“str”、“test”);
setAttribute(“compt”,compt);
setAttribute(“raton”,raton);//我尝试了不同的类型
//request.getParameterMap().size()的计算值始终为0,而不是“参数数”
映射参数=request.getParameterMap();
for(字符串参数:parameters.keySet()){//从不循环
字符串[]值=参数。获取(参数);
对于(字符串v:值)out.println(v);
}
request.getRequestDispatcher(“/index.jsp”).forward(请求,响应);
}
捕获(例外情况除外){
例如printStackTrace();
}
当然,因此,在将请求解析到JSP中时,我没有得到任何属性。
我错过什么了吗
提前Thx
编辑:我没有发布JSP,因为问题在重定向之前就已经确定了范围,但这里是:
<body>
<%PrintWriter writer = response.getWriter();
%>
visites :
<%
Map<String, String[]> parameters = request.getParameterMap();
for(String parameter : parameters.keySet()) {
//this is never looped , nothing is displyed
String[] values = parameters.get(parameter);
for(String v : values) {
System.out.println(v);
}
}
%>
</body>
访问:
参数是浏览器在发送请求时发送的数据,例如
http://localhost/foo?a=1&b=2
在上面的示例中,请求有两个参数“a”和“b”,其值分别为“1”和“2”。参数总是字符串
属性是完全不同的东西。它们是服务器选择存储在请求中的任何类型的对象,以便其他服务器端组件(例如JSP)稍后获取它们
要获取属性,不使用getParameterMap()。返回参数。你用
从JSP中,您可以简单地使用
${str}
要获取并打印名为
“str”
的属性,感谢您对参数和属性之间的说明,根据您的建议,我发现我可以通过以下方式显示我的属性:
-1-
${raton}
-2-
<% out.println(request.getAttribute("raton")); %>
-3-<%=request.getAttribute("raton") %>
-1-
${raton}
-2-
-3-
也向我们展示您的JSP。您正在设置属性和读取参数。这些是非常不同的事情。使用getAttribute()读取属性,您将找到它们。你也没有发布你的JSP,所以我们无法解释为什么它没有达到你期望的效果(顺便说一句,你没有说过)。