【问题标题】:JSF 2.0 view file name extension other than xhtmlJSF 2.0 查看 xhtml 以外的文件扩展名
【发布时间】:2011-07-21 22:53:12
【问题描述】:

如何在 JSF 2.0 应用程序中使用具有不同扩展名(而不是 XHTML)的视图文件仍映射到 Faces Servlet?

我正在将一个 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>

【问题讨论】:

    标签: jsf-2 richfaces web.xml


    【解决方案1】:

    它是固定的。

    下面的代码修复了它。

    <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得到它

    感谢迈克尔伸出援手。

    【讨论】:

      【解决方案2】:

      在你的 web.xml 添加这个:

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

      【讨论】:

      • 这对我不起作用,迈克尔。请参阅我添加到原始帖子中的 web.xml 作为详细信息。
      猜你喜欢
      • 2013-01-04
      • 2016-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 2016-11-16
      • 1970-01-01
      相关资源
      最近更新 更多