2011-03-07 6 views
0

<h:inputText> 값이 요청 범위 Bean에 설정되지 않았습니다. 값이 DB에서 유지되면 잘 작동합니다.h : 빈에 inputText 값이 설정되지 않았습니다.

보기 :

<h:inputText id="receipient" size="90" styleClass="text" readonly="#{!bean.enable}" value="#{bean.recipient}" /> 

콩 :

public class Bean { 
    private String recipient; 
    Bean(){ 
     recipient = //load from db 
    } 
    //set 
    //get 
} 

문제가 무엇이며 어떻게이 해결할 수 있습니까?

답변

0

readonly="#{!bean.enable}"이 초기보기와 동일하게 평가되는지 확인하십시오. 양식 제출의 요청 값 적용 단계에서 true을 평가하면 구성 요소의 값이 처리되지 않습니다 (읽기 전용으로 표시되기 때문에).

쉬운 테스트는 빈을 세션 범위에 두는 것이다. 그걸 수정하면 범인을 알게됩니다. JSF 2.0을 사용하는 경우 @RequestScoped 대신 @ViewScoped을 사용하여 뷰 범위에 bean을 넣기 만하면됩니다. 여전히 JSF 1.x에 있다면 Tomahawk's <t:saveState> 구성 요소를 사용하여 bean이 JSF 2.0 뷰 유효 범위와 비슷하게 작동하게하십시오.

<t:saveState value="#{bean}" /> 
+0

안녕 Balu, 답장 주셔서 감사합니다. saveState를 사용하여 하나의 텍스트 입력란에 대한 예제를 제공 할 수 있습니까? – venkat

+0

다음 요청에서 보유하고 싶은 값을 참조하십시오. '' – BalusC

관련 문제