为了账号安全,请及时绑定邮箱和手机立即绑定

如何在f中使用枚举值:selectItem(s)

如何在f中使用枚举值:selectItem(s)

慕姐4208626 2019-08-16 14:34:38
如何在f中使用枚举值:selectItem(s)我想制作一个selectOneMenu下拉列表,以便我可以在我的问题上选择一个状态。是否可以使f:selectItem更灵活,考虑到如果枚举的顺序发生变化会发生什么,以及列表是否很大?我能做得更好吗?是否可以自动“选择”问题所具有的项目?恩类public enum Status {     SUBMITTED,     REJECTED,     APPROVED}问题实体@Enumerated(EnumType.STRING)private Status status;JSF<div class="field">     <h:outputLabel for="questionStatus" value="Status" />     <h:selectOneMenu id="questionStatus" value="#{bean.question.status}" >         <f:selectItem itemLabel="Submitted" itemValue="0" />         <f:selectItem itemLabel="Rejected" itemValue="1" />         <f:selectItem itemLabel="Approved" itemValue="2" />     </h:selectOneMenu>     <hr /></div>
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

对于本地化,我们也可以使用此解决方案

public enum Status { SUBMITTED, REJECTED, APPROVED }data.status.SUBMITTED=Submitteddata.status.REJECTED=Rejecteddata.status.APPROVED=Approved<h:selectOneMenu value="#{bean.question.status}" >
    <f:selectItems
        value="#{data.statuses}"
        var="status"
        itemValue="#{status}"
        itemLabel="#{text['data.status.'.concat(status)]}" /></h:selectOneMenu>

因此,本地化字符串的资源路径在Enum中不是硬编码的。


查看完整回答
反对 回复 2019-08-16
?
ITMISS

TA贡献1871条经验 获得超8个赞

您可以使用 <f:selectItems value="#{carBean.carList}" />并返回SelectItem包装枚举的实例列表(用于Status.values()获取所有可能的值)。


查看完整回答
反对 回复 2019-08-16
  • 3 回答
  • 0 关注
  • 689 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信