我正在开发在GlassFish(v3.1.2.2)下运行的jsf 2 web应用程序。此应用程序具有自定义错误500页面,该页面在web.xml中定义。我的问题是,是否有可能在状态500响应的响应标题内禁用/隐藏/自定义错误消息/状态描述?目前我得到的是这样的东西:
HTTP/1.1 500 /view.xhtml @11,30 [error message same as in root exception] <- I want to hide this one (only message/status description)
X-Powered-By: JSF/2.0
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 09 Jan 2014 15:33:44 GMT
Connection: close
谢谢!
答案 0 :(得分:0)
在web.xml上定义过滤器以拦截错误并生成您喜欢的响应。
答案 1 :(得分:0)
我找到了解决方案。这不好,但它的工作原理。看到 JSF 2.0 web.xml error page status code
我没有更改状态代码,而是保留状态代码,只更改状态消息:
...
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
HttpServletResponse hp = (HttpServletResponse) ec.getResponse();
hp.setStatus(hp.getStatus(), "my new message");
...