MyFaces CODI のすばらしい機能を試しています。タイプセーフなナビゲーションは非常に便利です。次のように、コントローラ Bean でアクション メソッドの結果を指定できます。
public Class<? extends ViewConfig> goBack() {
return Pages.ListView.class;
}
すべての開発 IDE の過剰なリファクタリング機能を考えると、これは本当に素晴らしいことです。
しかし、この機能を使用したい場合、viewParameter を次のビューに渡すときに問題が発生します。このアクション メソッドを呼び出すには、次のようにコマンド ボタンを使用する必要があります。
<h:commandButton id="backButton" value="#{msgs.Button_Back}"
action="#{viewBean.goBack()}" />
このコマンドボタンを使用すると、パラメーターを渡すことができません。「通常の」ボタンまたはリンクがそれを行います:
<h:button id="backButton" value="#{msgs.Button_Back}" outcome="siteBefore.xhtml">
<f:param name="itemId" value="5" />
</h:button>
欠点は、「通常の」ボタンがアクション メソッドを使用しないため、CODI のタイプセーフ ナビゲーションの利点に参加できないことです。
では、これら 2 つの機能を組み合わせる可能性はありますか? (viewparams を渡し、typesafe ナビゲーションを使用する)
前もって感謝します!