Visual Web JSFのプロジェクトには、ページフラグメントという機能がある。
各画面の共通部分(ヘッダーとか)を個別に作りこむといった感じに使ったりする。
ここに張ったボタンで画面遷移をするには、faces-config.xmlに下のようなナビゲーションの定義をすればいける。
<navigation-rule>
<navigation-case>
<from-outcome>goPage1</from-outcome>
<to-view-id>/Page1.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>goPage3</from-outcome>
<to-view-id>/Page3.jsp</to-view-id>
</navigation-case>
</navigation-rule>
要は、from-view-idのないnavigation-ruleを作るだけ。これで、前ページ共通のナビゲーションの定義が出来る。
後は、ここで定義したfrom-outcomeの値をページフラグメントのボタンクリックでreturnするだけ。