문제

JSF에서 ViewState Hidden 필드의 크기를 줄이는 가장 좋은 방법은 무엇입니까? 내 뷰 상태가 약 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를 사용하는 경우이 설정을 시도하여 클라이언트에게 보내기 전에 ViewState를 압축 할 수 있습니다.

<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