: 우리가 나는 값이 볼 수 있듯이JSF의 F : 시간의 selectItem는 : selectManyCheckbox는 콩을 백업에서 일하고 있지만, 제대로 표시 시간에하지 : 데이터 테이블
<h:form>
<rich:panel>
<f:facet name="header">
<h:selectManyCheckbox title="Select which types of requests you want to see"
onchange="submit();" value="#{filterListener.chosenFilters}"
id="selectBoxContainer" >
<f:selectItem id="approvedByITS" itemLabel="Approved by ITS" itemValue="approvedByITS" />
<f:selectItem id="approvedByPO" itemLabel="Approved by Process Owner" itemValue="approvedByPO" />
<f:selectItem id="dob" itemLabel="Date" itemValue="dob" />
<f:selectItem id="externalAssignedTo" itemLabel="External assigned" itemValue="externalAssignedTo" />
<f:selectItem id="internalAssignedTo" itemLabel="Internal assigned" itemValue="internalAssignedTo" />
<f:selectItem id="ITSapprovedBy" itemLabel="ITS approved by" itemValue="ITSapprovedBy" />
<f:selectItem id="severity" itemLabel="Severity" itemValue="severity" />
<f:selectItem id="status" itemLabel="status" itemValue="status" />
<f:valueChangeListener type="no.ngt.tech.rt2.listeners.requestFilterListener" />
</h:selectManyCheckbox>
</f:facet>
<h:dataTable value="#{filterListener.chosenFilters}" var="selects" >
<h:column>
<h:outputText value="#{selects}" />
</h:column>
</h:dataTable>
<br />
<h:messages />
</rich:panel>
</h:form>
= "# {filterListener.chosenFilters} ". dataTable의 값도 동일하므로 selectItem 중 하나를 클릭 할 때마다 dataTable에 요소가 추가되거나 제거됩니다 (현재 작동 중임). 내 백업 콩에서 나는 다음과 같은 코드를 가지고 : 나는 확인란 중 하나를 클릭
public class requestFilterListener implements ValueChangeListener {
private List<String> chosenFilters;
public requestFilterListener() {
}
public void processValueChange(ValueChangeEvent event) {
System.out.println("processValueChange called");
if (chosenFilters != null) {
System.out.println(chosenFilters.size());
}
}
public List<String> getChosenFilters() {
return chosenFilters;
}
public void setChosenFilters(List<String> chosenFilters) {
this.chosenFilters = chosenFilters;
}
매번, 열이 내 콘솔 내가 메시지 "라고 processValueChange"을 얻을, 적절한 데이터 삭제/추가됩니다 같은 I 출력 processValueChange 메소드에서,이 시간 동안 selectedFilters는 항상 널이고 if 표현식은 실행되지 않습니다. 어째서? 이것은 세션 빈입니다. 왜 내 목록이 배킹 빈 내에서 사용될 수없는 지 이해할 수 없지만 내 dataTable에서 문제없이 사용됩니다.
감사의 말씀에 감사드립니다.