2011-02-17 8 views
2

我在登錄頁面上看到以下錯誤。 非法嘗試在呈現響應後設置ViewHandler。非法嘗試在呈現響應後設置ViewHandler

我使用RichFaces的3.3.3和Facelets和JSF和Tomcat

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" 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_2_5.xsd"> 
    <context-param> 
     <param-name>javax.faces.PROJECT_STAGE</param-name> 
     <param-value>Development</param-value> 
    </context-param> 
    <!-- Start - Richfaces Configuration--> 
    <!-- Plugging the "Blue Sky" skin into the project --> 
    <context-param> 
     <param-name>org.richfaces.SKIN</param-name> 
     <param-value>blueSky</param-value> 
    </context-param> 
    <!-- Making the RichFaces skin spread to standard HTML controls --> 
    <context-param> 
     <param-name>org.richfaces.CONTROL_SKINNING</param-name> 
     <param-value>enable</param-value> 
    </context-param> 
    <context-param> 
     <param-name>javax.faces.DISABLE_FACELET_JSF_VIEWHANDLER</param-name> 
     <param-value>true</param-value> 
    </context-param> 
    <filter> 
     <display-name>RichFaces Filter</display-name> 
     <filter-name>richfaces</filter-name> 
     <filter-class>org.ajax4jsf.Filter</filter-class> 
    </filter> 
    <filter-mapping> 
     <filter-name>richfaces</filter-name> 
     <servlet-name>Faces Servlet</servlet-name> 
     <dispatcher>REQUEST</dispatcher> 
     <dispatcher>FORWARD</dispatcher> 
     <dispatcher>INCLUDE</dispatcher> 
    </filter-mapping> 
    <!-- End - Richfaces Configuration--> 
    <servlet> 
     <servlet-name>Faces Servlet</servlet-name> 
     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>*.jsf</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
     <welcome-file>index.html</welcome-file> 
    </welcome-file-list> 
</web-app> 

faces-config.xml中

<?xml version="1.0"?> 
<faces-config 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-facesconfig_2_0.xsd" 
version="2.0 " metadata-complete="false"> 
<navigation-rule> 
    <from-view-id>/login.xhtml</from-view-id> 
    <navigation-case> 
     <from-outcome>success</from-outcome> 
     <to-view-id>/main.xhtml</to-view-id> 
     <redirect /> 
    </navigation-case> 
    <navigation-case> 
     <from-outcome>fail</from-outcome> 
     <to-view-id>/login.jsp</to-view-id> 
     <redirect /> 
    </navigation-case> 
</navigation-rule> 
<navigation-rule> 
    <from-view-id>/main.xhtml</from-view-id> 
    <navigation-case> 
     <from-outcome>viewScreen</from-outcome> 
     <to-view-id>/view.xhtml</to-view-id> 
     <redirect /> 
    </navigation-case> 
</navigation-rule> 
<managed-bean> 
    <managed-bean-name>mainBean</managed-bean-name> 
    <managed-bean-class>coreservlets.MainBean</managed-bean-class> 
    <managed-bean-scope>request</managed-bean-scope> 
    <managed-property> 
     <property-name>sessionMap</property-name> 
     <value>#{sessionScope}</value> 
    </managed-property> 
    <managed-property> 
     <property-name>facesContext</property-name> 
     <value>#{facesContext}</value> 
    </managed-property> 
</managed-bean> 
<managed-bean> 
    <managed-bean-name>loginBean</managed-bean-name> 
    <managed-bean-class>coreservlets.LoginBean</managed-bean-class> 
    <managed-bean-scope>request</managed-bean-scope> 

    <managed-property> 
     <property-name>sessionMap</property-name> 
     <value>#{sessionScope}</value> 
    </managed-property> 
    <managed-property> 
     <property-name>facesContext</property-name> 
     <value>#{facesContext}</value> 
    </managed-property> 
</managed-bean> 
</faces-config> 

請建議

+0

你解決這個問題?如果是這樣,也許你可以發佈你自己的答案。日Thnx。 – Liggy 2011-10-19 18:50:50

回答

6

嘗試將faces-config.xml中的視圖處理程序設置更改爲

<application> 
    <view-handler>org.ajax4jsf.application.AjaxViewHandler</view-handler> 
</application> 

(見here

相關問題