如何在 JSF 中减少 javax.faces.ViewState

2022-09-03 00:35:43

在 JSF 中减小视图状态隐藏字段大小的最佳方法是什么?我注意到我的视图状态大约是40k,这下降到客户端,并在每个请求和响应(特别是进入服务器)时返回服务器,这对用户来说是一个显着的减速。

我的环境 JSF 1.2, MyFaces, Tomcat, Tomahawk, RichFaces


答案 1

您是否尝试过设置保存到服务器的状态?这应该只向客户端发送一个 id,并在服务器上保留完整状态。只需将以下内容添加到文件 web.xml

 <context-param>
  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  <param-value>server</param-value>
 </context-param>

答案 2

如果您使用的是 MyFaces,则可以尝试此设置在发送到客户端之前压缩视图状态。

<context-param>
    <param-name>org.apache.myfaces.COMPRESS_STATE_IN_CLIENT</param-name>
    <param-value>true</param-value>
</context-param> `

推荐