如何降低javax.faces.ViewState在JSF(How to reduce javax.

2019-07-31 05:52发布

什么是减少JSF视图状态隐藏字段的大小最好方法是什么? 我注意到,我的视图状态大约是40K这种下降到客户端和回服务器上的每个请求和响应espically来的服务器,这是为用户显著放缓。

我的环境JSF 1.2,MyFaces的,Tomcat的,战斧,RichFaces的

Answer 1:

你有没有尝试设置状态保存到服务器? 这应该只发送一个ID,客户端,并保持充满状态的服务器上。 只需添加下面的文件web.xml中

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


Answer 2:

如果你正在使用的MyFaces,你可以试试这个设置发送到客户端之前压缩视图状态。

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


Answer 3:

一种选择是完全保存在客户端的视图状态,但你可能会面临一些问题,如不能够序列化对象。 您可能需要使用基于您的要求,但因为浏览器就已经默认使用gzip的我不知道有多少你可以得到不同的压缩算法/工具来尝试。



文章来源: How to reduce javax.faces.ViewState in JSF