在Struts2选择标记中显示值的不同名称

时间:2015-02-17 14:02:10

标签: java jsp struts2 ognl

我有以下枚举

public enum AccountType {
  ADMIN,
  MANAGER
}

现在,在我的Struts表单中,我有以下标记:

<s:select name="account.accountType" list="{'ADMIN', 'MANAGER'}" />

这将生成以下字段。

enter image description here

有没有办法让它在没有编辑后端枚举的情况下生成管理员而不是ADMIN和Manager而不是MANAGER?

1 个答案:

答案 0 :(得分:4)

在S2中,您可以使用@package.Enum@values()表示法直接从枚举本身检索值,而不是将枚举值硬编码到JSP中的列表中。并根据某些条件使用listValue属性显示您想要的任何内容。

例如:

<s:select name="account.accountType" list="@com.AccountType@values()"
          listValue="top == @com.AccountType@ADMIN ? 'Administrator' : top" />