Расширение имени файла в JSF 2.0, отличное от xhtml - PullRequest
2 голосов
/ 24 марта 2011

Как я могу использовать файлы вида с другим расширением, кроме XHTML, по-прежнему сопоставляться с сервлетом Faces в приложении 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>

Ответы [ 2 ]

6 голосов
/ 24 марта 2011

Исправлено.

Следующий код исправил его.

<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

Спасибо, Майкл, за то, что протянул руку.

3 голосов
/ 24 марта 2011

В вашем web.xml добавьте:

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