2012-05-10 48 views
0

我在点击表单按钮之后发送请求给控制器servlet,它需要检查用户已登录并按下了哪个按钮。在Servlet中通过request.setAttribute()设置的值无法通过JSP中的request.getParameter()访问

第一部分工作正常,但是当想要将结果设置为参数并将请求转发到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

你应该显示一些代码,以便错误跟踪是可能的。 –

+2

请仔细阅读JSP EL,并可能找到一个1999年没有编写的JSP教程。(我明白这说起来容易做起来难)虽然可以完成,但JSP并不是完成的“这种方式“今天。没有理由。这本书其实并不算太坏。 http://www.theserverside.com/news/1369772/Free-Book-Servlets-and-JavaServer-Pages-The-J2EE-Technology-Web-Tier –

+0

感谢书链接...我开始阅读它,但为该课程项目的方式,我做的事情将不得不做... – moshe

回答

2

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

信息:

始终执行一个request.getParameter()提取(通过发布HTML形式发送数据即)请求参数。 request.getParameter()总是返回字符串值,数据来自客户端。

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

+0

感谢的人它完美地解决了我的问题:) – moshe