Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中将属性放回请求中_Java_Jsp_Servlets_Request_Command - Fatal编程技术网

在java中将属性放回请求中

在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); 但无济于事 有人有什么想法

我在java中将属性放回请求时遇到问题。 基本上,我有一个jsp,它从该页面的链接中获取一个“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,因为我没有通过指向该页面的链接