2014-01-27 5 views
0

Я пытаюсь использовать primefaces-4.0 с сервером приложений IBM Websphere v 8.5.0.2. Проблема заключается в том, что сервер не продолжает страницу xhtml. Он отображает только теги <h:...>.Перья на IBM WAS 8.5 не работают

вот мой файл web.xml:

<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 
<display-name>DELTA.TRANS</display-name> 
<context-param> 
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
    <param-value>server</param-value> 
</context-param> 
<context-param> 
    <param-name>javax.faces.CONFIG_FILES</param-name> 
    <param-value></param-value> 
</context-param> 
<context-param> 
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name> 
    <param-value>.xhtml</param-value> 
</context-param> 
<context-param> 
    <param-name>javax.faces.PROJECT_STAGE</param-name> 
    <param-value>Development</param-value> 
</context-param> 
<context-param> 
    <param-name>com.ibm.ws.jsf.JSP_UPDATE_CHECK</param-name> 
    <param-value>true</param-value> 
</context-param> 
<context-param> 
    <param-name>com.ibm.ws.jsf.LOAD_FACES_CONFIG_AT_STARTUP</param-name> 
    <param-value>true</param-value> 
</context-param> 
<servlet> 
    <servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    <load-on-startup>-1</load-on-startup> 
    <enabled>true</enabled> 
    <async-supported>false</async-supported> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern> 
    *.faces</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern> 
    /faces/*</url-pattern> 
</servlet-mapping> 
<welcome-file-list> 
    <welcome-file>index.xhtml</welcome-file> 
</welcome-file-list></web-app> 

вот моя страница, чтобы сделать

<!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:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" 
xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui"><h:head> 
<title>Дельта::Транслітерація</title> 
<h:outputStylesheet id="style" library="css" name="style.css" /></h:head><f:view contentType="text/html" locale="ru"> 

<h:body> 
    <div id="main-center" class="main-center"> 
     <p:panel header="Транслітерація" footer="© Дельта Банк, 2013"> 
      <h:form id="form"> 
       <h3>Український текст</h3> 
       <p:inputTextarea id="uaText" value="#{translitBean.uaString}" rows="5" style="width:99%" /> 
       <h:panelGrid columns="2"> 
        <div class="setup">Налаштування:</div> 
        <p:selectOneRadio id="options" value="#{translitBean.options}"> 
         <f:selectItem itemLabel="Без змін" itemValue="1" /> 
         <f:selectItem itemLabel="Всі великі" itemValue="2" /> 
         <f:selectItem itemLabel="Всі маленькі" itemValue="3" /> 
        </p:selectOneRadio> 
       </h:panelGrid> 
       <p:commandButton value="Виконати..." update="display" id="ajax" actionListener="#{translitBean.doTranslit}" styleClass="ui-priority-primary" icon="ui-icon-shuffle"/> 
       <br /> 
       <h3>Транслітерація</h3> 
       <div class="trans"> 
        <h:outputText id="display" value="#{translitBean.enString}" /> 
       </div> 
      </h:form> 
      <h:outputLink value="http://zakon2.rada.gov.ua/laws/show/55-2010-%D0%BF" target="_blank" class="link">Постанова №55. Про впорядкування транслітерації українського алфавіту латиницею</h:outputLink> 
     </p:panel> 
    </div> 
</h:body></f:view></html> 

и я получаю ту же страницу.

UPD.

если я добавляю

<servlet-mapping> 
<servlet-name>Faces Servlet</servlet-name> 
<url-pattern>*.xhtml</url-pattern> 
</servlet-mapping>  

в web.xml приложение не отвечает, и я имею большой журнал ошибок, который состоит из ошибок один repeting:

[28.01.14 9:30:09:084 EET] 00000b16 lifecycle  E JSF1054: (Phase ID: RENDER_RESPONSE 6, View ID: /index.xhtml) Exception thrown during phase execution: javax.faces.event.PhaseEvent[[email protected]] 
[28.01.14 9:30:09:086 EET] 00000b16 servlet  E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of the service methods of the servlet [Faces Servlet] in application [DELTA.TRANS]. Exception created : [java.lang.NullPointerException 
    at org.primefaces.context.PrimeFacesContext.release(PrimeFacesContext.java:26) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:283) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1225) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:775) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:457) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1032) 
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1384) 
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:193) 
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:415) 
    at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:494) 
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:162) 
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:114) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) 
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1225) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:775) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:457) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1032) 
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1384) 
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:193) 
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:415) 
    at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:494) 
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:162) 
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:114) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) 
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1225) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:775) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:457) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1032) 
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1384) 
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:193) 
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:415) 
    at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:494) 
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:162) 
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:114) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) 
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1225) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:775) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:457) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1032) 
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3761) 
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) 
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:975) 
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) 
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:283) 
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) 
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) 
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) 
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1815) 
] 

ответ

0

изменить

<welcome-file-list> 
    <welcome-file>index.xhtml</welcome-file> 
</welcome-file-list> 

в

<welcome-file-list> 
    <welcome-file>index.faces</welcome-file> 
</welcome-file-list> 
+0

Спасибо за совет, но это мне не помогло. Ситуация не изменилась. – user3240985

+0

добро пожаловать. используя ваш web.xml и вашу страницу на моей стеклянной рыбке 4, возможно, ваша установка WAS имеет некоторые проблемы. проверьте, существует ли более старая jsf lib в пути пути выполнения. –

0

Во время нескольких тестов я обнаружил, что проблема вообще не связана с первичными. Модули JSF на сервере не работают с простейшими страницами xhtml. Это моя ошибка - я не тестировал их в первую очередь, и теперь я нахожусь на пути к решению Google.

Кстати, я установил новый экземпляр сервера, добавил в WEB-INF/lib файл primefaces-4.0.jar и пометил его для экспорта. Все работало так же, как и на базовой конфигурации сервера, без редактирования Shared Lib и classloader.

Смежные вопросы