PrimeFaces单选按钮上的默认选择



我有一个单选按钮:

xhtml:

<div class="col-md-4">
    <p:selectOneRadio id="gender"
        value="#{oneGoBean.gender}" required="true"
        requiredMessage="Gender Required">
        <f:selectItems value="#{oneGoBean.gender}" />
    </p:selectOneRadio>
</div>

豆:

import javax.faces.model.SelectItem;
private ArrayList<SelectItem> gender;
public final ArrayList<SelectItem> getGender() {
    return gender;
}
public final void setGender(final ArrayList<SelectItem> gender) {
    this.gender = gender;
}
public final void loadGender() {
    gender = new ArrayList<SelectItem>();
    gender.add(new SelectItem("M", "Male"));
    gender.add(new SelectItem("F", "Female"));
}

在加载期间,数组列表正在被2个性别填充。问题是,网页上没有默认值。没有选择两个单选按钮。有谁知道为什么,我想要一个按钮被默认选中(男性)?

您正在将单选按钮的值映射到值列表,但它应该映射到单个值。比如:

xhtml:

<div class="col-md-4">
    <p:selectOneRadio id="gender"
        value="#{oneGoBean.gender}" required="true"
        requiredMessage="Gender Required">
        <f:selectItems value="#{oneGoBean.genderList}" />
    </p:selectOneRadio>
</div>

豆:

import javax.faces.model.SelectItem;
private ArrayList<SelectItem> genderList;
private String gender = "M"; //give the default value
public final ArrayList<SelectItem> getGenderList() {
    return genderList;
}
public final void setGenderList(final ArrayList<SelectItem> genderList) {
    this.genderList = genderList;
}
public String getGender() {
    return gender;
}
public void setGender(String gender) {
    this.gender = gender;
}
public final void loadGender() {
    genderList = new ArrayList<SelectItem>();
    genderList.add(new SelectItem("M", "Male"));
    genderList.add(new SelectItem("F", "Female"));
}

最新更新