2014-01-27 48 views
0

我正在嘗試在IBM Websphere應用程序服務器v 8.5.0.2中使用primefaces-4.0。問題是,該服務器不會繼續xhtml頁面。它只呈現<h:...>標籤。IBM WAS 8.5上的Primefaces不起作用

這裏是我的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

不用客氣。在我的glassfish 4上使用你的web.xml和你的頁面,也許你的WAS安裝有一些問題。檢查運行時類路徑中是否存在較舊的jsf庫。 –

0

在幾次測試中,我發現問題根本不涉及到primefaces。服務器上的JSF模塊不支持最簡單的xhtml頁面。這是我的錯 - 我沒有先測試它們,現在我正在去google解決方案。

順便說一句,我已經安裝了一個新的服務器實例,將primefaces-4.0.jar添加到WEB-INF/lib並標記爲導出。一切工作就像在基本的服務器配置上一樣,不用編輯Shared Lib和classloader。

相關問題