Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 当jsp调用servlet并重定向回同一jsp时,如何保留jsp页面上字段的值_Java_Jsp_Servlets - Fatal编程技术网

Java 当jsp调用servlet并重定向回同一jsp时,如何保留jsp页面上字段的值

Java 当jsp调用servlet并重定向回同一jsp时,如何保留jsp页面上字段的值,java,jsp,servlets,Java,Jsp,Servlets,我有一个welcome.jsp页面,在那里我收集了一些信息,并借助HTML表单将此请求和响应对象发送到servlet以将数据插入数据库,因此在完成此操作后,我想返回到相同的welcome.jsp,但当我尝试使用 RequestDispatcher rs=request.getRequestDispatcher(“Welcome.jsp”); 转发(请求、响应) 我丢失了同一个Welcome.jsp上所有填充的值, 因此,请建议是否有一种方法可以将现有的请求和响应对象以及新的请求和响应发送到ser

我有一个welcome.jsp页面,在那里我收集了一些信息,并借助HTML表单将此请求和响应对象发送到servlet以将数据插入数据库,因此在完成此操作后,我想返回到相同的welcome.jsp,但当我尝试使用 RequestDispatcher rs=request.getRequestDispatcher(“Welcome.jsp”); 转发(请求、响应)

我丢失了同一个Welcome.jsp上所有填充的值, 因此,请建议是否有一种方法可以将现有的请求和响应对象以及新的请求和响应发送到servlet,并将旧的请求和响应对象从servlet发送回JSP

下面是来自“Welcome.jsp”的代码

现在从doPost开始,当我想返回到“Welcome.jsp”时,代码如下

RequestDispatcher rs = request.getRequestDispatcher("Welcome.jsp");
rs.forward(request, response);
因此,它将发回从节中调用的表单的请求和响应对象 因此字段上的其他值将变为null,
因此,我需要一种方法,可以在Welcome.jsp页面上保存旧值。

在发回请求之前,需要设置请求的属性。您可以使用request.setAttribute(“attribute_name”、“attribute_value”);您可以在下一页中使用request.getAttribute检索它。比如说

request.setAttribute("errorMsg", "Invalid data . Please correct the input data");
requestDispatcher = request.getRequestDispatcher("error.jsp");
requestDispatcher.forward(request, response);
然后在error.jsp中,您可以使用:

<%=request.getAttribute("errorMsg") %>


您可以为此使用会话。发布您的代码以便我们可以see@Jonathan谢谢你的回复,在问题中添加了更多细节。
request.setAttribute("errorMsg", "Invalid data . Please correct the input data");
requestDispatcher = request.getRequestDispatcher("error.jsp");
requestDispatcher.forward(request, response);
<%=request.getAttribute("errorMsg") %>