I have 2 lists, one with elements for h:selectOneMenu (with have integer itemValue and string itemLabel) and one for h:dataTable(with have Id with should be display in selectOneMenu like default value. How to set default value for selectOneMenu by id taked from other list. Need to get something like that:
for(role.roleId == o.userRoleId){ //do something}
And real code is:
<h:dataTable value="#{accountsManagmentBean.users}" var="o"
border="0"
styleClass="users-table"
headerClass="users-table-header"
rowClasses="users-table-odd-row,users-table-even-row">
<h:column>
<f:facet name="header">role</f:facet>
<h:selectOneMenu value="#{accountsManagmentBean.roles}">
<f:selectItems value="#{accountsManagmentBean.roles}" var="role" itemValue="#{role.roleId}" itemLabel="#{role.roleName}" />
#{o.userRoleId} //default value Id
</h:selectOneMenu>
</h:column>
And bean class
@ManagedBean
@SessionScoped
public class AccountsManagmentBean implements Serializable{
private static final long serialVersionUID = 1L;
private DataModel<UserModel> users;
private List<RoleModel> roles;
@PostConstruct
public void init() {
GetUsersService getUsersService = new GetUsersService();
List<UserModel> usersList = getUsersService.getUsers();
UserModel[] usersArray = usersList.toArray(new UserModel[usersList.size()]);
users = new ArrayDataModel<UserModel>(usersArray);
RoleService roleService = new RoleService();
roles = roleService.getRoles();
}
public DataModel<UserModel> getUsers() {
return users;
}
public List<RoleModel> getRoles() {
return roles;
}
}