JSF에서 javax.faces.viewstate를 줄이는 방법
-
02-07-2019 - |
문제
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를 사용하므로 얼마나 많은 것을 얻을 수 있는지 확실하지 않습니다.
제휴하지 않습니다 StackOverflow