2012-03-09 9 views
0

나는 Wicket-CDI을 사용하여 CDI와 Wicket을 통합하고 있습니다. @ConversationScoped으로 표시된 빈을 사용하여 사용자가 다양한 양식을 완성하는 다중 페이지 "마법사"플로우가 있습니다.Wicket-CDI와 대화 구분하기

흐름은 정상적으로 작동하지만 대화를 명시 적으로 끝내면 bean을 "재설정"하는 방법을 알 수 없습니다. 내가 않는 "시작"링크가 : 내 페이지 생성자가 호출되는 것을 확인했고 대화가 새로운 CID를 얻을 수 있음을

public void onClick() { 
    conversation.end(); 
    setResponsePage(WizardFlowPage1.class); 
} 

을하지만, 주입 가져옵니다 대화 빈은 같은 인스턴스 이전 흐름 (모든 필드는 이전 값을 유지함).

간단한 수정은 빈에 reset() 메소드를 추가하고 필드를 재설정하는 것입니다. 그러나 이것은 해킹처럼 보입니다 (나중에 새 필드를 추가하면 오류가 발생하기 쉽습니다).

대화가 끝나면 대화식 bean의 새 인스턴스를 만들도록 CDI/Weld를 어떻게 설득 할 수 있습니까?

답변

0

내 대화 콩에는 getters가 누락 된 일부 필드가 있음이 밝혀졌습니다 & setters. Wicket의 PropertyModel을 사용하면 편리하게 사용할 수 있습니다.

게터를 추가하면 & 세터가 JavaBean conventions을 준수하고 CDI가 제대로 수행 할 수 있습니다.