Я использовал JBoss EAP-7.0.0
, и я пытался перейти на WildFly 15
Вкл. WildFly 15
Представление граней выполнено хорошо, но при изменении / выравнивании (например, выберите дату p:календарь или onchange p: selectOneMenu) происходит, я получаю сообщения об ошибках.
10:21:31,690 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (default task-2) Error Rendering View[/secure/pages/site/namePageChangedByOwnerCompany.xhtml]: java.lang.IllegalArgumentException: Tipo de contenido no reconocido.
at com.sun.faces.renderkit.RenderKitImpl.createResponseWriter(RenderKitImpl.java:283)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.createResponseWriter(FaceletViewHandlingStrategy.java:1160)
...
10:21:31,904 SEVERE [org.omnifaces.exceptionhandler.FullAjaxExceptionHandler] (default task-2) FullAjaxExceptionHandler: An exception occurred during rendering JSF ajax response. Error page '/500.xhtml' will be shown.: java.lang.IllegalArgumentException: Tipo de contenido no reconocido.
И это сообщения ..
Упс!Возникла проблема при обработке запроса ajax.Впоследствии во время обработки страницы ошибки возникла другая проблема, которая должна сообщить вам об этой проблеме.Если вы ответственный веб-разработчик, самое время прочитать журналы сервера об ошибке на самой странице ошибок.
Я просматривал эти Полный обработчик исключений ajax , post 2 , Изящная работа с ViewExpiredException в JSF2
Wildfly: 15.0.1.Final 2019-01-05 Java EE Full & Web Distribution
Inмой pom.xml
(я не утверждаю явно в pom, какая-то мохарра версия)
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>6.2</version>
</dependency>
<groupId>org.omnifaces</groupId>
<artifactId>omnifaces</artifactId>
<version>2.1</version>
</dependency>
в моем faces-config.xml
<factory>
<exception-handler-factory>
org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory
</exception-handler-factory>
</factory>
в моем web.xml
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.pf</url-pattern>
</servlet-mapping>
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/secure/viewExpired.pf</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/secure/error500.pf</location>
</error-page>
По моему viewExpired.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Nice View Expired Page</title>
</h:head>
<h:body>
<h:form>
<p>To protect your security, we have taken the liberty of logging you
out. Those who sacrifice liberty for security deserve to have
their views expired.</p>
<p>You were on page #{currentViewId}. Maybe that's useful.</p>
</h:form>
</h:body>
</html>
По моему error500.xhtml
<code><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Nice 500 Page</title>
</h:head>
<h:body>
<h:form>
<p>To protect your security, we have taken the liberty of logging you
out. Those who sacrifice liberty for security deserve to have
their views expired.</p>
<p>You were on page #{currentViewId}. Maybe that's useful.</p>
<ul>
<li>Date/time: #{of:formatDate(now, 'yyyy-MM-dd HH:mm:ss')}</li>
<li>User agent: #{header['user-agent']}</li>
<li>User IP: #{request.remoteAddr}</li>
<li>Request URI: #{requestScope['javax.servlet.error.request_uri']}</li>
<li>Ajax request: #{facesContext.partialViewContext.ajaxRequest ? 'Yes' : 'No'}</li>
<li>Status code: #{requestScope['javax.servlet.error.status_code']}</li>
<li>Exception type: #{requestScope['javax.servlet.error.exception_type']}</li>
<li>Exception message: #{requestScope['javax.servlet.error.message']}</li>
<li>Exception UUID: #{requestScope['org.omnifaces.exception_uuid']}</li>
<li>Stack trace:
<pre>#{of:printStackTrace(requestScope['javax.servlet.error.exception'])}