0

JSF とテンプレートで問題が発生しています。私はこのチュートリアルに従っていますが、表示される唯一の出力は、index.xhtmlで定義しているものだけです

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

インデックスファイルでデフォルトのものを定義/上書きしていなくても、フッターとヘッダーを追加しません。

ブラウザでソースを表示すると、index.xhtmlui:compositionなどと同じように表示されます。そのため、HTML に「変換」していないように見えます。

my の関連部分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

間違ったサーブレットを使用しています。

JSF には、独自のサーブレットであるFacesServlet.

InputServletfromを完全に取り除き、次web.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 に答える