对于很多问题,我收到的JSF / Glassfish反馈非常少。例如,我有一个JSF页面,其中包含:
<p:tabView rendered="#{cc.attrs.model.ready}" value="#{cc.attrs.model.allFeatures}" var="feature">
<p:tab title="#{feature}">
<h:panelGroup id="#{feature}">
<h:outputText value="test"/>
</h:panelGroup>
</p:tab>
</p:tabView>
导航到该页面会返回HTTP 200结果,但页面完全为空(通过使用Firefox的检查器可以看到)。 Glassfish日志中没有错误证据。如果我删除id="#{feature}"
,则网页加载正常。
我的问题是:为什么没有错误发生的证据?对于我的许多问题,我只是得到一个空白的响应,没有错误或堆栈痕迹。
额外详情:
网页的网址为:
localhost:8080/myWebApp/Search.xhtml
我的web.xml
包含:
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
<!-- Set to production as primefaces gives annoying warnings on development -->
</context-param>
和
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
我正在使用JSF 2.2和Glassfish 3.1.2。
答案 0 :(得分:0)
如果您使用自定义异常处理程序,请确保它在开发时记录所有错误,否则您可能无所事事地“处理”错误。
JSF2.x自定义异常处理程序在faces-config.xml中定义:
<factory>
<exception-handler-factory>
nz.co.tradeintel.util.CustomExceptionHandlerFactory
</exception-handler-factory>
</factory>