在selectOneMenu中预先选择LinkedHashMap

时间:2016-05-01 15:42:53

标签: jsf

要创建新用户,管理员可以通过selectOneMenu在我的创建视图中选择一个角色。因此,我有以下几点:

<h:selectOneMenu id="role" value="#{creationBacking.createdUser.role}">
    <f:selectItems value="#{creationBacking.roles}" />
</h:selectOneMenu>

在我的CreationBacking我初始化地图:

@PostConstruct
public void init() {
    createdUser = new User();
    roles = new LinkedHashMap<>();
    roles.put("User", 1);
    roles.put("Admin", 0);
}

由于它是LinkedHashMap droptown中的订单是User first,然后是Admin,但不幸的是预选是Admin。我猜是因为值为0.我可以在某种程度上轻易地强制推断预选是Map的第一项,例如下拉列表中的第一项(不更改值)?

1 个答案:

答案 0 :(得分:1)

通过在init()中设置creationBacking.createdUser.role来预选角色。