2013-02-05 2 views
0

JSF 2.0의 간단한 양식에 이상한 문제가 있습니다. 이 양식에서는 두 개의 선택 항목을 사용합니다. 첫 번째 항목을 선택하면 두 번째 항목은 새로운 옵션으로 다시로드해야합니다. Primefaces 데모 페이지와 동일한 메커니즘을 사용합니다 : Primefaces demo page. 내 콩은 @ViewScoped입니다. 또한 "mvn jetty : run"에 의해 jetty-maven 플러그인에 내 앱을 실행합니다. 지금까지 문제 없습니다. 내 양식이 잘 작동합니다.서버 재배포 후 ViewScoped

서버가 실행 중일 때 jetty가 다시로드되는 동안 문제가 발생합니다. 그리고 그 후에이 두 선택은 작동하지 않습니다. 만약 내가 firts one에서 옵션을 선택하면, 두 번째 것은 응답하지 않습니다. Spring Security에서 로그 아웃하여 모든 세션을 지우고 그 후에 내 양식이 다시 작동하도록해야합니다.

콩을 @ Session Scoped으로 변경하면 문제가 사라졌습니다. 제대로 작동하나요? 세션 범위에 내 양식을 갖고 싶지 않습니다. ViewScoped를 선호합니다.

답변

1

귀하의 컨텍스트를 확인하려고하면 귀하의 콩에 postConstruct 에서이 같은 postback입니다.

@PostConstruct 
public void init() { 
    if (!FacesContext.getCurrentInstance().isPostback()) { 
     //Write your code here... 
    } 

또는 JSF 버전 2.0의 경우 귀하의 web.xml에 저장 부분 상태에 가까운 노력하지만,이 방법, 응용 프로그램이 더 많은 메모리 할당

<context-param> 
    <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name> 
    <param-value>false</param-value> 
</context-param> 

행운을해야합니다!