0
我有两个jsp页面:page1.jsp,其中有一个表单和page2.jsp,它显示一条消息来告诉用户记录插入是否发生。防止重新提交表单和struts
如果表单成功提交并且用户刷新页面2,则会发生另一次插入。
我不会使用会话变量,并在页面2中设置请求属性不能解决问题(它似乎不起作用)。
我有两个jsp页面:page1.jsp,其中有一个表单和page2.jsp,它显示一条消息来告诉用户记录插入是否发生。防止重新提交表单和struts
如果表单成功提交并且用户刷新页面2,则会发生另一次插入。
我不会使用会话变量,并在页面2中设置请求属性不能解决问题(它似乎不起作用)。
你可以试用一下这个:
从
page1.jsp
设置一个请求属性,当控制达到page2.jsp
检查该请求的属性,如果它的存在重定向 控制同一page2.jsp。通过这种方式,当控制被重定向到 相同或其他资源时,先前的请求和响应对象在那里不再是 (即,因为 HTTP是无状态协议,所以请求和响应对象都将被销毁)并且在重定向之后像这样,将 设为否与之前的请求相关的数据以及在刷新page2.jsp时不会重复前一个任务。
我不确定,但在我的一个应用程序中,我使用了相同的目的。让我知道是否有人有更好的选择。
你应该使用post-redirect-get模式。 –
@DaveNewton:谢谢,我如何在struts 1中重定向之后维护请求(通过struts-config.xml和Action中的mapping.findForward)? – Sefran2
@DaveNewton:如果你写一个答案,我会接受它, – Sefran2