0

我遇到了 JSF 和模板的问题。我正在关注本教程,但我看到的唯一输出是我在 index.xhtml 中定义的输出

<ui:composition template="/WEB-INF/templates/BasicTemplate.xhtml">
<ui:define name="content">
my custom content
</ui:define>

即使我没有在我的索引文件中定义/覆盖默认值,也没有添加页脚和页眉。

如果我在浏览器中查看源代码,它的显示方式与我在 index.xhtml 中的显示方式相同ui:composition。所以看起来它没有将其“转换”为 HTML。

我的相关部分web.xml

<servlet>
    <description>Controller Servlet for data input</description>
    <display-name>InputServlet</display-name>
    <servlet-name>InputServlet</servlet-name>
    <servlet-class>form.controller.InputServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>InputServlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<welcome-file-list>
    <welcome-file>index.xhtml</welcome-file>
</welcome-file-list>

我的目录结构如下所示:http: //i.imgur.com/ZslOQNr.png

谢谢!

4

1 回答 1

2

您使用了错误的 servlet。

JSF 带有自己的 servlet,即FacesServlet.

完全摆脱InputServletfromweb.xml并将 JSF 映射FacesServlet如下:

<servlet>
    <servlet-name>facesServlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>facesServlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

那应该这样做。

也可以看看:

于 2013-06-22T20:43:29.117 回答