【问题标题】:How to set default value of h:selectOneRadio button如何设置 h:selectOneRadio 按钮的默认值
【发布时间】:2010-03-22 09:54:32
【问题描述】:

我无法设置 h:selectOneRadio 的默认值,因为我需要预先选择单选按钮

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

我的支持bean是

private String addressFlag="0";

public String getAddressFlag() {
    return addressFlag;
}


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

但没有运气

【问题讨论】:

    标签: jsf


    【解决方案1】:

    您需要在 backing bean 的 init 方法中设置默认值:

    @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】:

      我做了一个小测试,它按预期工作得很好,但我也观察到,当你省略 &lt;h:form&gt; 标签时,单选按钮的行为是不可预测的,并且取决于网络浏览器。 JSF 生成的 HTML 输出看起来是正确的,但 Web 浏览器在视图中只会选择用户在同一页面上的上一个请求中实际选择的按钮。如果缓存为空,则不选择任何按钮。至少,在 FF 中是这样的。

      因此,您似乎忘记在其周围添加&lt;h:form&gt;。

      【讨论】:

        【解决方案3】:

        只使用那个&lt;h:selectOneRadio required="true"&gt;:

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

        【讨论】:

          【解决方案4】:

          您是否尝试将addressFlag 设置为整数?

          private Integer addressFlag = 0;
          
          public Integer getAddressFlag() {
              return addressFlag;
          }
          
          public void setAddressFlag(Integer addressFlag) {
              this.addressFlag = addressFlag;
          }
          

          【讨论】:

          • 我尝试更改像 这样的值并给出 addressFlag= “你”;
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-26
          • 2013-03-27
          • 2015-09-07
          • 2019-08-01
          • 2019-09-16
          相关资源
          最近更新 更多