0

我的问题是我第一次访问该页面时无法设置默认值。
我的代码运行得很好。但我的要求是当我第一次访问该页面时,默认选中第一个复选框。
我有以下jsf代码

<h:selectManyCheckbox value="#{newUser.newUserModel.selectedCheckBox}" layout="lineDirection"
                      onclick="document.getElementById('addNewUserForm:checkBox').click();">
    <f:selectItems value="#{newUser.newUserModel.userRoleComboBox}" />
    <f:ajax />
</h:selectManyCheckbox>

我的控制器名称是 newUser,在我的控制器中,我得到了选定复选框的值。代码如下:

for(String selectedCheckBox: newUserModel.getSelectedCheckBox()){
    System.out.println(value of selectckeckBox"+selectedCheckBox);
} 

我的 Bean 名称是 newUserModel,声明如下:

private List<SelectItem> userRoleComboBox;
private List<String> selectedCheckBox = new ArrayList<String>();

和 getter & setter。

4

1 回答 1

1

您只需selectCheckBox通过添加每个SelectItem要选择的值来正确初始化。

例子 :

// Assuming your userRoleComboBox is already initialized
this.selectedCheckBox.add((String)this.userRoleComboBox.get(0).getValue());

这将预先选择第一个选项。

于 2013-06-07T06:44:42.893 回答