p : ajax를 사용하여 h : selectOneMenu에서 값을 변경하려고합니다. 하지만 항상 null 값을 얻고 있는데, 아래 코드가 무엇인지 잘못 알지 못합니다. h : selectOneMenu 이벤트를 p : ajax로 변경하십시오.
<h:form>
<h:selectOneMenu id="selectMenu" value="#{userHomeController.gymsSelectType}">
<f:selectItem itemLabel="Close to me" itemValue="closest" />
<f:selectItem itemLabel="Visited by me" itemValue="visited" />
<p:ajax process="selectMenu" listener="#{userHomeController.selectMenuListener}" event="change" update=":home-form:panel" />
</h:selectOneMenu>
</h:form>
와 빈 클래스는이 viewscoped 클래스입니다
public void selectMenuListener() {
System.out.println("-------- >> " + gymsSelectType); // here null coming
if (gymsSelectType.equals("a")) {
//
} else {
//
}
}
입니다. 및 변수 gymsSelectType에 대한 세터 아래는 널 (null)
public void setGymsSelectType(String gymsSelectType) {
System.out.println("------------ >> "+gymsSelectType);
this.gymsSelectType = gymsSelectType;
}
당신이 몇 가지 논리를하거나 문제를 수행 할 시도를 가지고 인쇄된다 데이터 또는 패널 표시/숨기기? 왜냐하면 마지막 하나는 자바 스크립트만으로 가능하기 때문입니다. –
은 선택에 따라 약간의 로직을 수행해야합니다. – Eric
'
'을 사용할 수 있지만 코드는 정상적으로 보입니다. 여기에 기본 Ajax 이벤트 인 모든 값 선택을 호출합니다. 그걸로도'null '을 얻게된다면 문제는 다른 곳에서 발생합니다. facelet에'