tengo el siguiente código en JSF-2 Mojarra 2.0.8 se ejecuta en Tomcat 7Cómo establecer el valor booleano a un 'Sí' o 'No' h: selectOneRadio
<h:panelGrid id="yesNoRadioGrid">
<h:panelGrid columns="2" rendered="#{user.yesNoRadioGridFlag}">
<h:outputText id ="otherLbl" value="Select Yes or No"></h:outputText>
<h:selectOneRadio id="yesNoRadio" value ="#{user.yesNoRadio}">
<f:selectItems value="#{user.choices}"/>
<f:ajax execute="@form" render="userDetailsGrid "></f:ajax>
</h:selectOneRadio>
</h:panelGrid>
</h:panelGrid>
<h:message for ="yesNoRadio"> </h:message>
<h:panelGrid id="userDetailsGrid">
<h:panelGrid columns="2" rendered="#{user.yesNoRadio}">
<h:outputLabel>Name :</h:outputLabel>
<h:inputText id="customerName" value="#{user.customerName}"></h:inputText>
<h:outputLabel>Salary: </h:outputLabel>
<h:inputText id="customerSalary" value="#{user.customerSalary}"></h:inputText>
</h:panelGrid>
</h:panelGrid>
Mis managedBean contienen siguiente
private enum Choice {
Yes, No;
}
private Choice yesNoRadio;
public Choice[] getChoices() {
return Choice.values();
}
public Choice getYesNoRadio() {
return yesNoRadio;
}
public void setYesNoRadio(Choice yesNoRadio) {
this.yesNoRadio = yesNoRadio;
}
¿Cómo puedo hacer que mi 'userDetailsGrid' basado en el valor booleano (user.yesNoRadio) seleccionada en
me encontré con un workarround mediante la adición siguiente en mi mangedbean
private Boolean yesNoRadio;
public SelectItem[] getMyBooleanValues() {
return new SelectItem[] {
new SelectItem(Boolean.TRUE, "Yes"),
new SelectItem(Boolean.FALSE, "No")
};
}
y cambiar mi punto de vista a
<h:selectOneRadio id="yesNoRadio" value ="#{user.yesNoRadio}">
<f:selectItems value="#{user.myBooleanValues}" />
<f:ajax execute="@form" render="userDetailsGrid "></f:ajax>
</h:selectOneRadio>
Sí ... es lo que estaba buscando. Gracias BalusC. Soy nuevo en JSF y realmente aprecio sus comentarios sobre el uso del atributo execute. Una pregunta, tengo el botón de comando y en el que no quiero que se active la validación, entonces eliminé el atributo de ejecución del botón de comando, pero el evento de acción no se activó en esa situación. ¿Cuál podría ser la razón?. – jvG