Jsf 2 Primefaces扩展ajaxErrorHandler不工作
在WildFly 8-1上,我的webappsJsf 2 Primefaces扩展ajaxErrorHandler不工作,jsf-2,primefaces,wildfly-8,primefaces-extensions,Jsf 2,Primefaces,Wildfly 8,Primefaces Extensions,在WildFly 8-1上,我的webappsWEB-INF/lib目录中有primefaces-5.1.jar和primefaces-extensions-2.1.0.jar 我已经配置了WEB-INF/faces config.xml: <?xml version="1.0" encoding="UTF-8"?> <faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://ww
WEB-INF/lib
目录中有primefaces-5.1.jar
和primefaces-extensions-2.1.0.jar
我已经配置了WEB-INF/faces config.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
version="2.2">
<application>
<el-resolver>org.primefaces.application.exceptionhandler.PrimeExceptionHandlerELResolver</el-resolver>
</application>
<factory>
<exception-handler-factory>org.primefaces.application.exceptionhandler.PrimeExceptionHandlerFactory</exception-handler-factory>
</factory>
</faces-config>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>seleneWar</display-name>
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<error-page>
<error-code>500</error-code>
<location>/error/500.xhtml</location>
</error-page>
<context-param>
<param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>primefaces.CLIENT_SIDE_VALIDATION</param-name>
<param-value>true</param-value>
</context-param>
<resource-ref>
<res-ref-name>jsf/ProjectStage</res-ref-name>
<res-type>java.lang.String</res-type>
</resource-ref>
</web-app>
当我点击按钮时,根本没有弹出窗口;页面被重定向到web.xml
中定义的错误500的URL。在日志中,我得到了下面的stacktrace墙:
我做错了什么
15:44:14206错误[stderr](默认任务-42)
java.lang.NullPointerException:EXCEPCION!太好了!15:44:14,206
错误[stderr](默认任务-42)位于
es.imasmallorca.selene.webone.jsf.controller.dossier.DossierResumen.excepcion(DossierResumen.java:55)
15:44:14206错误[stderr](默认任务-42)位于
es.imasmallorca.selene.webone.jsf.controller.dossier.dossieresumen$Proxy$\u$$WeldClientProxy.excepcion(未知
源代码)15:44:14206错误[stderr](默认任务-42)位于
sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
15:44:14206错误[stderr](默认任务-42)位于
invoke(NativeMethodAccessorImpl.java:57)
15:44:14207错误[stderr](默认任务-42)位于
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
15:44:14207错误[stderr](默认任务-42)位于
java.lang.reflect.Method.invoke(Method.java:606)15:44:14207错误
[stderr](默认任务-42)位于
com.sun.el.parser.AstValue.invoke(AstValue.java:275)15:44:14207
错误[stderr](默认任务-42)位于
com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
15:44:14207错误[stderr](默认任务-42)位于
org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
15:44:14207错误[stderr](默认任务-42)位于
org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
15:44:14208错误[stderr](默认任务-42)位于
org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
15:44:14208错误[stderr](默认任务-42)位于
org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
15:44:14208错误[stderr](默认任务-42)位于
javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:149)
15:44:14208错误[stderr](默认任务-42)位于
javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
15:44:14208错误[stderr](默认任务-42)位于
javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:813)
15:44:14208错误[stderr](默认任务-42)位于
javax.faces.component.UICommand.broadcast(UICommand.java:300)
15:44:14209错误[stderr](默认任务-42)位于
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
15:44:14209错误[stderr](默认任务-42)位于
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
15:44:14209错误[stderr](默认任务-42)位于
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
15:44:14209错误[stderr](默认任务-42)位于
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)15:44:14209
错误[stderr](默认任务-42)位于
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
15:44:14209错误[stderr](默认任务-42)位于
javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
15:44:14210错误[stderr](默认任务-42)位于
io.undertow.servlet.handlers.ServletHandler.HandlerRequest(ServletHandler.java:85)
15:44:14210错误[stderr](默认任务-42)位于
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.HandlerRequest(ServletSecurityRoleHandler.java:61)
15:44:14210错误[stderr](默认任务-42)位于
io.undertow.servlet.handlers.ServletDispatchingHandler.HandlerRequest(ServletDispatchingHandler.java:36)
15:44:14210错误[stderr](默认任务-42)位于
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.HandlerRequest(SecurityContextAssociationHandler.java:78)
15:44:14210错误[stderr](默认任务-42)位于
io.undertow.server.handlers.PredicateHandler.HandlerRequest(PredicateHandler.java:25)
15:44:14210错误[stderr](默认任务-42)位于
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)
15:44:14211错误[stderr](默认任务-42)位于
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.HandlerRequest(ServletAuthenticationCallHandler.java:56)
15:44:14211错误[stderr](默认任务-42)位于
io.undertow.server.handlers.PredicateHandler.HandlerRequest(PredicateHandler.java:25)
15:44:14211错误[stderr](默认任务-42)位于
io.undertow.security.handlers.AbstractSecretentityHandler.HandlerRequest(AbstractSecretentityHandler.java:45)
15:44:14211错误[stderr](默认任务-42)位于
io.undertow.servlet.handlers.security.ServletSecretentityConstraintHandler.HandlerRequest(ServletSecretentityConstraintHandler.java:61)
15:44:14211错误[stderr](默认任务-42)位于
io.undertow.security.handlers.AuthenticationMechanismsHandler.HandlerRequest(AuthenticationMechanismsHandler.java:58)
15:44:14212错误[stderr](默认任务-42)位于
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.HandlerRequest(CachedAuthenticatedSessionHandler.java:70)
15:44:14212错误[stderr](默认任务-42)位于
io.undertow.security.handlers.SecurityInitialHandler.HandlerRequest(SecurityInitialHandler.java:76)
15:44:14212错误[stderr](默认任务-42)位于
io.undertow.server.handlers.PredicateHandler.HandlerRequest(PredicateHandler.java:25)
15:44:14212错误[stderr](默认任务-42)位于
org.wildfly.extension.undertow.security.jacc.jaccontextidhandler.handleRe
public void excepcion() {
throw new NullPointerException("EXCEPCION! EXCEPCION!");
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>seleneWar</display-name>
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<error-page>
<error-code>500</error-code>
<location>/error/500.xhtml</location>
</error-page>
<context-param>
<param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>primefaces.CLIENT_SIDE_VALIDATION</param-name>
<param-value>true</param-value>
</context-param>
<resource-ref>
<res-ref-name>jsf/ProjectStage</res-ref-name>
<res-type>java.lang.String</res-type>
</resource-ref>
</web-app>
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/pages/errorpages/sessione-scaduta.xhtml</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/pages/errorpages/runtime-error.xhtml</location>
</error-page>
<application>
<message-bundle>ValidationMessages</message-bundle>
<resource-bundle>
<base-name>/Bundle</base-name>
<var>bundle</var>
</resource-bundle>
<el-resolver>
org.primefaces.application.exceptionhandler.PrimeExceptionHandlerELResolver
</el-resolver>
<locale-config>
<default-locale>it</default-locale>
</locale-config>
<view-handler>it.infogroup.wrl.web.utils.PathTrimViewHandler</view-handler>
</application>
<factory>
<exception-handler-factory>
org.primefaces.application.exceptionhandler.PrimeExceptionHandlerFactory
</exception-handler-factory>
</factory>
<p:ajaxExceptionHandler type="java.lang.NullPointerException"
update="exceptionDialog"
onexception="PF('exceptionDialog').show();" />
<p:dialog id="exceptionDialog" header="Exception '#{pfExceptionHandler.type}' occured!" widgetVar="exceptionDialog"
height="500px">
Message: #{pfExceptionHandler.message} <br/>
StackTrace: <h:outputText value="#{pfExceptionHandler.formattedStackTrace}" escape="false" /> <br />
<p:button onclick="document.location.href = document.location.href;"
value="Reload!"
rendered="#{pfExceptionHandler.type == 'javax.faces.application.ViewExpiredException'}" />
</p:dialog>
<application>
<el-resolver>org.primefaces.application.exceptionhandler.PrimeExceptionHandlerELResolver</el-resolver>
</application>
<factory>
<exception-handler-factory>org.primefaces.application.exceptionhandler.PrimeExceptionHandlerFactory</exception-handler-factory>
</factory>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error/500.xhtml</location>
</error-page>