【发布时间】:2013-03-06 14:55:18
【问题描述】:
处理发布到 Java Servlet 的表单验证的一种策略是在验证失败时转发回原始 JSP 视图。这允许用户看到他们刚刚提交的表单的上下文中存在验证失败(可能他们没有为必填字段提供值),然后他们可以重试。但是,由于此策略不遵循众所周知的 Post-Redirect-Get 模式 (http://en.wikipedia.org/wiki/Post/Redirect/Get),因此浏览器历史记录现在包含不可添加书签的页面。如果用户稍后尝试通过历史记录/返回按钮访问此页面,他们将收到文档过期异常(至少在 Firefox 19 中)。这应该如何处理?有没有更好的办法?
注意:我所描述的策略实际上是在 Servlet 信息页面中推荐的:(https://stackoverflow.com/tags/servlets/info)。但没有提及浏览器历史记录问题。
注意:这个问题类似:(JSF PRG with validation error)。它建议对帖子使用 AJAX。如果这是推荐的策略,也许我们需要更新 Servlet wiki?不完全确定这将如何从 JSF 转换为 servlet。
【问题讨论】: