2012-04-24 10 views
1

を見ることができない、私が使用しているindex.xhtmlを持っていますテンプレート経由でJSFページでは、私は私の「Webページ」ルートではWEB-INF /テンプレート/ standardTemplate.xhtml</p> <p>でテンプレートを持っているテンプレート

<ui:composition template="/WEB-INF/templates/standardTemplate.xhtml"> 

上記の動作は問題ありません。

私も同じテンプレートを使用して別のページを持っているが、それはそれはまったく同じ構文/パス使用

/messageboard/list.xhtmlサブフォルダ「Webページ」でありますが:

<ui:composition template="/WEB-INF/templates/standardTemplate.xhtml"> 

しかし、テンプレートを見つけることができず、list.xhtmlのコンテンツだけをレンダリングします(テンプレートのコンテンツはありません)。

顔サーブレットは、 "/顔/ *"

私が間違って何をやっているためにマッピングされていますか?私が考えることのできるすべての変種を試しましたが、私は正しい構文を得ることができません。

感謝のコメントを1として

+0

うまくいくはずです。ブラウザで問題のページを開き、右クリックして*ソースを表示*。あなたは ''を見ていますか?生成されたHTML出力でそれを見るべきではありません。 – BalusC

+0

ああ、いい考えです。私はそれを見ます。何かがコードを適切に表現していません。私はちょうど私の名前空間をチェックし、彼らは作業ページにあるように見えるので、私は彼らが動作することを期待します。これを引き起こしている可能性があることは分かりますか? – Richard

答えて

1

は、あなたがHTML出力での未解析<ui:composition>を見ています。

これは、ブラウザのアドレスバーのリクエストURLがFacesServletのURLパターンと一致しないことを意味します。それがFacesServletのURLパターンと一致することを確認してください。 /faces/*にマップしました。そのため、URLには、コンテキストパスの直後に/facesというパスプレフィックスが含まれている必要があります。

FacesServlet*.xhtmlに直接マップすると、仮想URLを覚える必要がなくなります。

+0

ニース。ありがとう。それは私には全く新しいものです。私はそれを逃しました。今はすごくうれしいです。途中で素晴らしいブログ;) – Richard

+0

あなたは大歓迎です:) – BalusC

関連する問題