Вопрос

Каков наилучший способ уменьшить размер скрытого поля состояния просмотра в JSF?Я заметил, что мое состояние просмотра составляет примерно 40 тысяч, оно передается клиенту и обратно на сервер при каждом запросе и ответе, особенно поступающем на сервер, это существенное замедление для пользователя.

Моя среда JSF 1.2, MyFaces, Tomcat, Tomahawk, RichFaces

Это было полезно?

Решение

Вы пытались настроить сохранение состояния на сервере?Это должно только отправлять идентификатор клиенту и сохранять полное состояние на сервере.Просто добавьте следующее в файл веб.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> `

Один из вариантов — полностью сохранить состояние просмотра на стороне клиента, но вы можете столкнуться с некоторыми проблемами, например, с невозможностью сериализовать объект.Возможно, вы захотите попробовать использовать другой алгоритм/утилиту сжатия в зависимости от ваших требований, но, поскольку браузер уже использует GZip по умолчанию, я не уверен, сколько вы сможете получить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top