如何强制 JSF 重新发送请求?

How to force JSF to resend a request?

我的 JSF 应用程序中有一个随机错误会删除我的所有 HTTP 参数。它是随机发生的,我无法收到任何错误消息(即使遵循 BalusC 的建议 here and here)。

我无法查明原因并修复它,所以我想知道是否有其他解决方案:如果我的所有参数都为空,则强制重新发送请求。有没有办法让浏览器重新发送它的请求?例如,通过 JSF 或 HTTP 错误代码。

编辑:清理了不必要的代码。

最后,我听从了@Xtreme Biker 的建议,而是构建了一个过滤器。它检查参数是否存在,否则发送重定向响应(HTTP 错误代码 307)。然后浏览器发回相同的请求,继续进行。

类似于:

String formWebContainerWidth = httpRequest.getParameter("myParam");
if(formWebContainerWidth == null){

    // SC_TEMPORARY_REDIRECT = 307
    httpResponse.setStatus(HttpServletResponse.SC_TEMPORARY_REDIRECT);
    httpResponse.setHeader("Location", httpRequest.getRequestURI()); 
} else {
   chain.doFilter(request, response);
}

编辑:添加了位置,否则浏览器有时会显示 "page cannot be reached" 错误消息。