我有一个名为patient.jsp
的jsp页面,其中Form
是一个弹出窗口。此表单使用post
方法提交。
一旦这个表单到达servlet,就会出现类似下面的内容。
request.setAttribute("id",id);
RequestDispatcher dispatch = getServletContect().getRequestDispatcher("/patient.jsp");
dispatch.forward(request,response);
有一个大问题。一旦将其转发回patient.jsp
,如果用户刷新网页,之前输入表单的所有内容都将重新提交并保存在数据库中。
我们使用RequestDispatcher
因为我们必须从Request范围传递属性。知道如何解决这个问题吗?
答案 0 :(得分:1)
首先你应该重定向而不是前进:
response.sendRedirect("patient.jsp");
确保相对路径正确。
从这里你有两个选择:
session
中设置属性而不是在请求中,然后您可以在jsp中获取它。当然,您需要使用此处理并行请求,因此每次属性的名称都应该是唯一的。response.sendRedirect("patient.jsp?id=273");