2010-03-22 27 views
9

Soy incapaz de establecer el valor predeterminado de h: selectOneRadio ya que necesito botón de radio para ser preseleccionadoCómo establecer el valor por defecto de h: Botón selectOneRadio

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

y mi bean de respaldo es

private String addressFlag="0"; 

public String getAddressFlag() { 
    return addressFlag; 
} 


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

pero no hubo suerte

Respuesta

-1

¿trató de establecer el addressFlag como un entero?

private Integer addressFlag = 0; 

public Integer getAddressFlag() { 
    return addressFlag; 
} 

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

He intentado cambiar el valor como y dando addressFlag = "u"; – Nitin

7

hice una pequeña prueba, funciona muy bien como se esperaba, pero he observado también que cuando se omite la etiqueta <h:form>, el comportamiento de los botones de radio es impredecible y depende del navegador web. El resultado HTML generado por JSF parece correcto, pero el navegador web solo seleccionaría en la vista el botón que era realmente seleccionado por el usuario en la solicitud anterior en la misma página. Si la memoria caché está vacía, no se selecciona ninguno de los botones. Al menos, ese fue el caso en FF.

Por lo tanto, parece que olvidó poner un <h:form> a su alrededor.

10

Tiene que establecer el valor por defecto en el método init del respaldo de frijol:

@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

use sólo esa <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> 
Cuestiones relacionadas