Dans mon application, le composant doit changer de façon dynamique. J'ai un Datatable en ce que j'ai deux colonnes, le premier est un <h:selectoneMenu>
dans le menu je suis ayant deux données (les données sont 1 et 2) si 1 est choisi alors un <h:inputText>
devrait apparaître et si 2 est choisi <h:selectoneMenu>
devrait apparaître . Besoin d'aide pour le faire?Ajouter dynamiquement le composant dans JSF?
Mon 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}" />
Mon manged Bean classe
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 vues, aucun vote? –