I am unable to set the default value of h:selectOneRadio as i need radio button to be pre selected
Only use that <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>
I did a little test, it works just fine as expected, but I also observed that when you leave out the <h:form>
tag, the behaviour of radio buttons is unpredictable and dependent on the webbrowser. The JSF-generated HTML output looks correct, but the webbrowser would in the view only select the button which was actually selected by the user in the previous request on the same page. If the cache is empty, none of the buttons is selected. At least, that was the case in FF.
So, it look like that you're forgotten to put a <h:form>
around it.
Did you try to set the addressFlag
as an Integer?
private Integer addressFlag = 0;
public Integer getAddressFlag() {
return addressFlag;
}
public void setAddressFlag(Integer addressFlag) {
this.addressFlag = addressFlag;
}
You need to set the default value in the init method of your 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;
}
}