java-在Struts2 select标记中为值显示不同的名称

我有以下枚举

public enum AccountType {
  ADMIN,
  MANAGER
}

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

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

这将生成以下字段.

有什么办法可以在不编辑后端枚举的情况下生成Administrator(而不是ADMIN)和Manager(而不是MANAGER)?

解决方法:

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

例如:

<s:select name="account.accountType" list="@com.AccountType@values()"
          listValue="top == @com.AccountType@ADMIN ? 'Administrator' : top" />
上一篇:移动布局之弹性布局


下一篇:java-如何根据表单字段选择要实例化的对象类型?