내 응용 프로그램에서 구성 요소를 동적으로 변경해야합니다. 나는 두 열을 가지고있는 데이터 테이블을 가지고 있는데, 먼저 <h:selectoneMenu>
이 두 개 있습니다 (데이터는 1과 2). 그러면 1이 선택되면 <h:inputText>
이 나타나야하고 2가 선택되면 <h:selectoneMenu>
이 나타나야합니다. . 이 작업을 수행하는 데 도움이 필요하십니까?JSF에서 동적으로 컴포넌트를 추가 하시겠습니까?
내 JSF
<h:selectOneMenu id="menu" value="#{sample.data}" rendered="true" valueChangeListener="#{sample.change}">
<f:selectItem itemLabel="Data" itemValue=""/>
<f:selectItems value="#{sample.list1}"/>
<a4j:support event="onchange" reRender="text" />
</h:selectOneMenu>
<h:inputText id="text" value="#{sample.input}" rendered="#{sample.status}" />
내 선택 게재 콩 클래스
public class Sample {
private Boolean status; //Getter & Setter
private List<SelectItem> list1; //Setter
private String input; //Getter & Setter
private String data; //Getter & Setter
public void change(ValueChangeEvent event){
System.out.println((String)event.getNewValue());
if(((String)event.getNewValue()).equals("value1")){
status=true;
}
else if(((String)event.getNewValue()).equals("value2")){
status=false;
}
}
public Boolean getStatus(){
if(status==null){
status=true;
}
return status;
}
public List<SelectItem> getList1() {
if(list1==null) {
list1 = new ArrayList<SelectItem>();
list1.add(new SelectItem("value1", "label1"));
list1.add(new SelectItem("value2", "label2"));
}
return list1;
}
}
4k 회보기, 아니요 득표? –