JSP中的request.getParameter()无法访问Servlet中request.setAttribute()设置的值

时间:2012-05-10 20:04:14

标签: jsp servlets parameters attributes parameter-passing

我在单击表单按钮到控制器servlet之后发送请求,它需要检查用户是否已登录以及按下了哪个按钮。

第一部分工作正常,但是当将结果设置为参数并将请求转发到JSP页面时,参数“Button”始终返回null。 有人能帮我理解为什么会这样吗?也许有更好的方法来做到这一点?

的Servlet

request.setAttribute("Buttons", "Add a new coupon");
request.getRequestDispatcher("/admin_main.jsp").forward(request,response);

JSP:

if (request.getParameter("Buttons") != null) {
    // ...
} 

1 个答案:

答案 0 :(得分:2)

if(request.getAttribute("Buttons") != null)将有效。

的信息:

始终执行request.getParameter()以提取请求参数(即通过发布html表单发送的数据)。 request.getParameter()始终返回String值,数据来自客户端。

始终使用request.getAttribute()将对象添加到服务器端的请求范围,即使用request.setAttribute()