Jsf 在xhtml页面上显示sendError消息
“我的错误”页面未显示senderror方法发送的错误消息。错误页:Jsf 在xhtml页面上显示sendError消息,jsf,jsf-2,Jsf,Jsf 2,“我的错误”页面未显示senderror方法发送的错误消息。错误页: <h:head> <title>Error Page</title> </h:head> <h:body> <p>Error : #{requestScope['javax.servlet.error.message']}</p> <h:outputText value="#{requestScope['javax
<h:head>
<title>Error Page</title>
</h:head>
<h:body>
<p>Error : #{requestScope['javax.servlet.error.message']}</p>
<h:outputText value="#{requestScope['javax.servlet.error.message']}" />
</h:body>
呈现了正确的页面,但我只能看到以下输出:
Error :
但是javax.servlet.error.message中的错误消息没有被打印出来。这表明在错误页面请求中没有调用
FacesServlet
,而该请求负责解析该XHTML文件中的所有JSF标记和EL表达式并生成HTML输出。要确认这一点,请右键单击浏览器中的错误页面并查看源代码;这里不应该看到任何JSF/EL内容,而是纯JSF生成的HTML输出
您需要确保web.xml
中的
与FacesServlet
中定义的
匹配。例如,如果将其映射到URL模式/faces/*
,则错误页面位置必须类似于/faces/error.xhtml
。否则,请将FacesServlet
映射更改为*.xhtml
,这样您就不必担心虚拟URL了
也就是说,-1
一开始绝对不是有效的。4xx范围内的某些东西更适合于此。例如400
或401
取决于您如何进行身份验证
Error :