2012-05-10 72 views
0

當我在Jetty服務器上運行我的JSF應用程序它運行良好。沒有保存的視圖狀態可以被發現的視圖標識

但是,當我把它移到Weblogic服務器時,它開始給我這個錯誤。下面

javax.faces.application.ViewExpiredException: /wsListing.xhtmlNo saved view state could be found for the view identifier: /wsListing.xhtml 
at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:132) 
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170) 
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197) 
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226) 
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124) 
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) 
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) 
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) 
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:26) 
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) 
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402) 
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
at weblogic.security.service.SecurityManager.runAs(Unknown Source) 
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140) 
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046) 
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1398) 
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200) 
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172) 

wsListing.xhtml給出:

<?xml version="1.0" encoding="UTF-8"?> 
<!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" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:p="http://primefaces.org/ui" xmlns:lang="en"> 

<f:view xmlns:c="http://java.sun.com/jstl/core" 
    xmlns:s="http://www.springframework.org/tags" 
    xmlns:form="http://www.springframework.org/tags/form"> 
    <h:head> 
     <h:outputStylesheet library="css" name="../resources/css/style.css" 
      target="head" /> 
     <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
     <title>Test Client</title> 
     <link rel="shortcut icon" href="../resources/images/favicon.ico" /> 
     <link rel="stylesheet" href="../resources/css/style.css" 
      type="text/css" media="all" /> 
    </h:head> 
    <h:body> 
     <ui:include src="header.xhtml" /> 
     <div id="home-training-container"> 
      <h:form> 
       <table align="center" border="1"> 
        <tr> 
         <td><h:commandLink value="First Web Service" 
           action="#{wsListingBean.action}"> 
           <f:setPropertyActionListener 
            target="#{wsListingBean.webServiceId}" value="abcService" /> 
          </h:commandLink></td> 
        </tr> 
        <tr> 
         <td><h:commandLink value="Second Web Service" 
           action="#{wsListingBean.action}"> 
           <f:setPropertyActionListener 
            target="#{wsListingBean.webServiceId}" value="filterabc" /> 
          </h:commandLink></td> 
        </tr> 
        <tr> 
         <td>Third Web Service</td> 
        </tr> 
        <tr> 
         <td>Fourth Web Service</td> 
        </tr> 
        <tr> 
         <td>Fifth Web Service</td> 
        </tr> 
       </table> 
      </h:form> 
     </div> 
     <ui:include src="footer.xhtml" /> 
    </h:body> 
</f:view> 
</html> 

當我點擊任何命令鏈接的那麼這個問題來了:

<h:commandLink value="First Web Service" 
            action="#{wsListingBean.action}"> 
            <f:setPropertyActionListener 
             target="#{wsListingBean.webServiceId}" value="abcService" /> 

任何人有關於這是什麼任何想法視圖狀態是?

+1

SAM--任何這方面的運氣?如果是這樣,請更新此決議,以便其他人可以從答案中獲益。謝謝。 – BestPractices

回答

2

您是否將web.xml中的PROJECT_STAGE設置爲Development?如果是這樣,你可以切換到生產,看看問題是否消失?我在WebLogic上發現了一條類似的錯誤消息(如果不是相同的話),並認爲該修改解決了它。

1

我已經把下列行web.xml中修正錯誤

<context-param> 
    <!--description> 
     The location where state information is saved. Valid values 
     are 'server' (typically saved in HttpSession) and 'client' 
     (typically saved as a hidden field in the form. Default is 
     server. 
     </description--> 
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
    <param-value>server</param-value> 
</context-param> 
<context-param> 
    <!--description> 
     Number of Views to be stored in the session when Server-Side 
     State Saving is being used. Default is 20. 
     </description--> 
    <param-name> 
     org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION 
    </param-name> 
    <param-value>20</param-value> 
</context-param>