我正在使用JSP / Servlets等处理Web应用程序。我有很多表单进展。我知道一些使用“后退”功能的方法,但我不确定它是否足够有效。
实施此方法的最佳方法是什么?它是否使用会话对象参与?还是仅仅是请求?还是两个?
答案 0 :(得分:2)
如果您没有任何特殊原因,为什么不使用javascript来执行此操作?
<FORM> <INPUT TYPE="button" VALUE="Go Back" onClick="history.go(-1)"> </FORM>
您可以在javascript中参考其他一些方法:http://www.comptechdoc.org/independent/web/cgi/javamanual/javahistory.html
它很酷的原因是您不必在服务器中处理这段“后退”代码。你让浏览器为你处理它。
如果你坚持在普通的java中这样做,我认为会话是最好的方法。如果您想要记住整个路径,您只需要在会话中存储Stack
,并将其命名为历史记录或类似内容。每当用户点击后,您弹出一个网址,并在用户点击新网址时推送一个网址。
答案 1 :(得分:1)
这真的取决于你的需求,但我会选择会话,例如:
会话将使我的视图中最简单,也是最强大的。
答案 2 :(得分:0)
<FORM> <INPUT TYPE="button" VALUE="Go Back" onClick="history.go(-1)"> </FORM>
这是一种完成它的方法,但这可能会也可能不会保留您的表单值。 与此相关的更大风险是重新提交表格。 假设您有一个提交的屏幕,并且正在向信用卡收费。如果您以这种方式返回,表单将重新提交,并且将再次向用户收费。
然而,更好的实施方法是完全采取另一种行动。 在此操作中重新填充所有表单值并转发到上一个JSP。