2011-03-24 51 views
2

如何使用不同于XHTML的扩展名的视图文件仍然映射到JSF 2.0应用程序中的Faces Servlet?除xhtml之外的JSF 2.0查看文件扩展名

我正在将JSF 1.2应用程序迁移到2.0,并使用文件扩展名jspx。我不想将它们更改为xhtml。

在此先感谢您的帮助。

这里是我的web.xml截至目前

<?xml version="1.0" encoding="UTF-8"?> 
<web-app id="JSF2Sample" 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.FACELETS_LIBRARIES</param-name> 
     <param-value>/WEB-INF/app-tags.taglib.xml</param-value> 
    </context-param> 

    <context-param> 
     <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
     <param-value>server</param-value> 
    </context-param> 

    <context-param> 
     <param-name>javax.faces.DEFAULT_SUFFIX</param-name> 
     <param-value>.jspx</param-value> 
    </context-param> 

    <context-param> 
     <param-name>javax.faces.PROJECT_STAGE</param-name> 
     <param-value>Development</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> 
    </servlet> 

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

    <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> 

    <mime-mapping> 
     <extension>xcss</extension> 
     <mime-type>text/css</mime-type> 
    </mime-mapping> 

</web-app> 

回答

6

它是固定的。

以下代码修复了它。

<context-param> 
    <param-name>javax.faces.FACELETS_VIEW_MAPPINGS</param-name> 
    <param-value>*.jspx</param-value> 
</context-param> 

而且我是从http://forums.oracle.com/forums/thread.jspa?threadID=2137307&tstart=90

感谢迈克尔,为他人提供帮助。

+0

我的应用在添加后不会显示任何内容... – 2012-12-07 15:25:49

3

在你的web.xml中添加此:

<context-param> 
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name> 
    <param-value>.jspx</param-value> 
</context-param> 
+0

这对我不起作用,迈克尔。查看我添加到原始文章中的web.xml作为细节。 – 2011-03-24 09:28:57