时间:2010-07-25 11:15:50

标签: java jsf facelets

6 个答案:

答案 0 :(得分:16)

答案 1 :(得分:3)

我有同样的问题,我通过以下更新解决了这个问题: - 马丁已经在上面提到了。谢谢。

的web.xml

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

<context-param>
        <param-name>javax.faces.application.CONFIG_FILES</param-name>
        <param-value>/WEB-INF/faces-config.xml</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>*.faces</url-pattern>
  </servlet-mapping>

面-config.xml中

<application>
        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>

答案 2 :(得分:1)

答案 3 :(得分:0)

伙计,您尚未设置javax.faces.DEFAULT_SUFFIX上下文参数。 jsf的默认设置为jsp,因此jsf将搜索example.jsp而不是example.xhtml。基本上JSF会替换javax.faces.DEFAULT_SUFFIX所请求资源的扩展名。

使用以下内容,它将起作用:

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

答案 4 :(得分:0)

您是否有face-config.xml将Facelets声明为视图处理程序?

<?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_1_2.xsd" version="1.2">
<application>
    <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>
</faces-config>

如上所述,不要忘记将javax.faces.DEFAULT_SUFFIX参数设置为.xhtml。

答案 5 :(得分:0)

在web-inf / lib中添加以下内容:

JSF的API-2.0.9.jar JSF的小面,1.1.14.jar JSF的IMPL-2.0.4-b09.jar JSTL-1.2.jar

没有jsf-facelets * .jar,你将无法渲染jsf视图。

并且,以下内容应该在您的web.xml中:

 <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>
    <url-pattern>*.xhtml</url-pattern>
  </servlet-mapping>

如果没有以上两个url-pattern,tomcat将无法正确映射.xhtml文件。

并且,faces-config.xml:

<?xml version="1.0" encoding="UTF-8"?>

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

</faces-config>