在java中将属性放回请求中
我在java中将属性放回请求时遇到问题。 基本上,我有一个jsp,它从该页面的链接中获取一个“id”:在java中将属性放回请求中,java,jsp,servlets,request,command,Java,Jsp,Servlets,Request,Command,我在java中将属性放回请求时遇到问题。 基本上,我有一个jsp,它从该页面的链接中获取一个“id”: Integer prodId = Integer.parseInt(request.getParameter("productId")); 然后在我的命令(我使用的是命令模式)中,我从请求中获取'id',然后返回到同一个jsp页面,但是'id'不再在请求中,我得到一个数字格式异常 我试过: request.setAttribute("prodId", id); 但无济于事 有人有什么想法
Integer prodId = Integer.parseInt(request.getParameter("productId"));
然后在我的命令(我使用的是命令模式)中,我从请求中获取'id',然后返回到同一个jsp页面,但是'id'不再在请求中,我得到一个数字格式异常
我试过:
request.setAttribute("prodId", id);
但无济于事
有人有什么想法吗
谢谢。请求属性和请求参数是不同的 1.尝试将其检索为:
request.getAttribute("prodId");
在JSP中,一旦在命令类中设置了request属性,如下所示
request.setAttribute("prodId", id);
此代码获取请求参数,而不是请求属性
request.getParameter("productId");
2.或者,如果您正在从命令类转发到JSP页面:
//this will let you use request.getParameter() in JSP.
request.getRequestDispatcher(jspFilePath).forward(request,response);
为什么使用两个不同的键?什么时候出现数字格式异常?在页面加载之前的JSP中,或者在该操作的后续请求中?这只是它们的命名方式,在页面加载之前的JSP中仍然是相同的值
参数!=属性
和productId!=prodId
我可以从jsp中检索到它,问题是当我返回到该页面时,将它放回原处。您不从请求中取出任何内容,而是读取它,无论何时将其转发到任何页面,都要转发请求,以便您可以从请求中读取值。您也可以在会话中持久化它,以便在整个会话中都可以访问它。我知道您的意思,但是jsp页面根据与该页面链接一起传递的id显示特定的产品。因此,当我从命令类返回到该页面时,它无法获取id,因为我没有通过指向该页面的链接