JSFのビューステート隠しフィールドのサイズを減らすための最良の方法は何ですか?私のビューステートは約40kであることに気づきました。これは、サーバーに到達するすべての要求と応答でクライアントに戻り、サーバーに戻ります。これは、ユーザーにとって大幅な速度低下です。
My Environment JSF 1.2、MyFaces、Tomcat、Tomahawk、RichFaces
JSFのビューステート隠しフィールドのサイズを減らすための最良の方法は何ですか?私のビューステートは約40kであることに気づきました。これは、サーバーに到達するすべての要求と応答でクライアントに戻り、サーバーに戻ります。これは、ユーザーにとって大幅な速度低下です。
My Environment JSF 1.2、MyFaces、Tomcat、Tomahawk、RichFaces
状態保存をサーバーに設定してみましたか?これは、ID のみをクライアントに送信し、サーバー上で完全な状態を維持する必要があります。以下をファイルweb.xmlに追加するだけです。
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
MyFacesを使用している場合は、この設定を試して、クライアントに送信する前にビューステートを圧縮できます。
<context-param>
<param-name>org.apache.myfaces.COMPRESS_STATE_IN_CLIENT</param-name>
<param-value>true</param-value>
</context-param> `
1つのオプションは、クライアント側でビューステートを完全に保存することですが、オブジェクトをシリアル化できないなどの問題が発生する可能性があります。要件に基づいて異なる圧縮アルゴリズム/ユーティリティを使用してみることもできますが、ブラウザはデフォルトですでにGZipを使用しているため、どれだけ取得できるかわかりません。