处理发布到 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。