Cómo reducir javax.faces.ViewState en JSF
optimization bandwidth (3)
Una opción es guardar por completo el estado de la vista en el lado del cliente, pero puede enfrentar algún problema, como la imposibilidad de serializar el objeto. Puede intentar usar diferentes algoritmos de compresión / utilidad en función de sus necesidades, pero como el navegador ya usará GZip de manera predeterminada, no estoy seguro de cuánto puede ganar.
¿Cuál es la mejor manera de reducir el tamaño del campo oculto viewstate en JSF? Me he dado cuenta de que mi estado de vista es de aproximadamente 40k, esto se reduce al cliente y de vuelta al servidor en cada solicitud y respuesta que llega esporádicamente al servidor, esto representa una desaceleración significativa para el usuario.
Mi entorno JSF 1.2, MyFaces, Tomcat, Tomahawk, RichFaces
¿Has intentado configurar el ahorro de estado en el servidor? Esto solo debería enviar una identificación al cliente y mantener el estado completo en el servidor. Simplemente agregue lo siguiente al archivo web.xml :
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
Si está utilizando MyFaces, puede probar esta configuración para comprimir ViewState antes de enviarlo al cliente.
<context-param>
<param-name>org.apache.myfaces.COMPRESS_STATE_IN_CLIENT</param-name>
<param-value>true</param-value>
</context-param> `