1

ページをレンダリングする前に、inputHidden フィールド「javax.faces.viewState」の値を変更できますか。

フィールド用

値を別の長さに変更する必要があります。カスタムviewHandlerを使用してこれを行うことはできますか?

クラスを ResponseWriter に拡張することでこれを実現できますか。

4

1 に答える 1

1

フィールドは、現在のレンダー キットから取得した ResponseStateManager によってレンダリングされます。

その API を調べてみると、フィールドの値をオーバーライドすることはできないことがわかります。全体を交換する必要があります。状態の保存は非常に複雑なので (サーバーとクライアントの両方のアルゴを考えてください)、これを試みることについてよく考えます。

別の方法として、サーブレット フィルタを使用して応答全体をキャプチャすることもできます。非表示フィールドの名前は標準化されており、検索して置き換えることができます。ポストバックの場合、同じフィルターを使用してパラメーターを復元できます。

于 2012-11-26T18:45:38.333 に答える