表示されるコンテンツの一部がURLに依存する「一般的な」ビューを実装しようとしています。例えば。JSFでルーティングを実装する簡単な方法はありますか?
:代わりに、私のようなものを持っている私は、一般的なビューを使用してデータベースから/somepath/somepage.xhtml
のコンテンツを取得するために試してみたい404エラー、
/genericview.xhtml
、にまっすぐ行くの非既存のファイルへ
/somepath/somepage.xhtml
た場合のポイント、
<h:outputText value="#{genericViewBean.content_lg}"
escape="false" />
バッキングBeanによって見つかった場合、
、最初に要求のviewIdに応じて希望出力tgenericcontent
テーブルからデータベースエントリの内容、:
webpath | content
/somepath/somepage.xhtml | <p>This is a test</p>
/someotherpath/someotherpage.xhtml | <p>A different test</p>
場合ビューのコンテンツがそのテーブルに見つからない場合、標準の404エラーが返されます。
最も近いのは、/genericview.xhtml
のファイルパスのみを複製するために浪費しています(たとえば、/somepath/somepage.xhtml
)。しかし、それは私に1つのビューのファイルの正確なコピーを取得します。それはかなり面倒です、そして、私は私のデータベースにエントリを追加するだけで新しいURLを作成することができません。
クローニングを行わずに同じ結果を得る方法を教えてください。/genericview.xhtml
?
(P.S:?私はprettyfacesについて読んだことがあるが、簡単な解決策はありません)
だからフロントコントローラー? 'FacesServlet'がすでにやっていることと違いはありませんか? Prettyfaceや独自のフロントコントローラー(既存のページやサーブレットのいずれかに対応している必要があります)を書くことは、唯一の選択肢です。自分のフロントコントローラー内で、さまざまなメカニズムを使って要求を適切なビューにディスパッチできるようになりました。 – kolossus
オプションを指定すると、prettyfacesをデプロイしてfaces-configを/ genericview.xhtml?path = *またはそのようなもの... – NotGaeL