f:viewparam
を使用して、GETリクエストパラメータをJSFページに取得しています。JSFで無効なクエリパラメータのみを無視する
<f:metadata>
<f:viewParam name="id" value="#{mediaGroupController.mediaGroupId}"/>
<f:viewParam name="type" value="#{mediaGroupController.type}"/>
<f:viewParam name="limit" value="#{mediaGroupController.limit}" converter="javax.faces.Integer" >
<f:validateLongRange minimum="0"/>
</f:viewParam>
</f:metadata>
?id=1&type=foo&limit=10
のように、すべてに対して有効なパラメータを入力しても問題ありません。ただし、paramsの1つが無効な場合(たとえば、?id=1&type=foo&limit=bar
)、idやtypeなどの有効なパラメータも無視されます。
この場合、limit
のパラメータを無視したいだけです。それをどうすれば実現できますか?
ありがとうございます、私はまた別の解決策を掲載しました。あなたは見て、そのアプローチを使用することに欠点があるかどうか確認できますか?私は基本的に私の日付コンバータで同じことをやろうと思っていましたが、コンバータコードを書き換える代わりに、私はただ既存のコンバータに委任すべきです。すべてのコンバータにAOPコンバータを追加して、コンバータへの呼び出しを代行受信して例外をキャッチし、nullを返すようにすることは可能ですか?私はSpringを使用しています。おそらくSpring AOPで可能でしょうか? – ustun
私はあなたの代わりのアプローチも考えましたが、それは簡単な変換のために過度のように思えました。あなたは本当に標準コンバータを拡張することができます。 AOPに関しては、申し訳ありませんが、私はそれに経験を積んでいないので、私には分かりません。 – BalusC