2010-03-22 5 views
9

Je suis incapable de définir la valeur par défaut h: selectOneRadio que j'ai besoin bouton radio pour être pré sélectionnéComment définir la valeur par défaut h: bouton selectOneRadio

<h:selectOneRadio id="myRadio" value="#{Externalbean.addressFlag}" > 
<f:selectItem itemValue="1" itemLabel="Yes"/> 
<f:selectItem itemValue="0" itemLabel="No"/> 
</h:selectOneRadio> 

et mon backing bean est

private String addressFlag="0"; 

public String getAddressFlag() { 
    return addressFlag; 
} 


public void setAddressFlag(String addressFlag) { 
     this.addressFlag = addressFlag; 
    } 

mais pas de chance

Répondre

-1

Est-ce que vous essayez de définir la addressFlag comme un entier?

private Integer addressFlag = 0; 

public Integer getAddressFlag() { 
    return addressFlag; 
} 

public void setAddressFlag(Integer addressFlag) { 
    this.addressFlag = addressFlag; 
} 
+0

J'ai essayé de changer la valeur comme et en donnant addressFlag = "u"; – Nitin

7

J'ai fait un petit test, il fonctionne très bien comme prévu, mais j'observe aussi que lorsque vous quittez le tag <h:form>, le comportement des boutons radio est imprévisible et dépend de la WebBrowser. La sortie HTML générée par JSF semble correcte, mais le webbrowser ne sélectionnerait dans la vue que le bouton effectivement sélectionné par l'utilisateur dans la requête précédente sur la même page. Si le cache est vide, aucun des boutons n'est sélectionné. Au moins, c'était le cas dans FF. Donc, il semble que vous ayez oublié de mettre un <h:form> autour d'elle.

10

Vous devez définir la valeur par défaut dans la méthode d'initialisation de votre backing bean:

@ManagedBean 
public class YourBackingBean implements Serializable { 

    private String addressFlag; 

    @PostConstruct 
    public void init() { 
     addressFlag = "0"; 
    } 

    public String getAddressFlag() { 
     return addressFlag; 
    } 

    public void setAddressFlag(String addressFlag) { 
     this.addressFlag = addressFlag; 
    } 
} 
2

Utilisez uniquement du <h:selectOneRadio required="true">:

<h:selectOneRadio required="true" id="myRadio" value="#{Externalbean.addressFlag}" > 
    <f:selectItem itemValue="1" itemLabel="Yes"/> 
    <f:selectItem itemValue="0" itemLabel="No"/> 
</h:selectOneRadio> 
Questions connexes