小编典典

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

jsp

在将表单按钮单击到控制器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) {
    // ...
}

阅读 511

收藏
2020-06-08

共1个答案

小编典典

if(request.getAttribute("Buttons") != null) 将工作。

信息:

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

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

2020-06-08