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

标签 java jsp struts2 ognl

我有以下枚举

public enum AccountType {
  ADMIN,
  MANAGER
}

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

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

这将生成以下字段。

enter image description here

有没有办法让它生成 Administrator 而不是 ADMIN 和 Manager 而不是 MANAGER 而无需在后端编辑枚举?

最佳答案

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

例如:

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

关于java - 在 Struts2 select 标签中显示不同的值名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28563194/

相关文章:

java - Bean 定义被自动配置覆盖

java - 在多线程环境中交换变量

java - jsp中使用session的登录页面

java - 如何使这个自定义标签按预期工作?

java - 使用迭代器时如何获取 Struts 2 表单的所有键

java - 使用 com.fasterxml.jackson.core.JsonParser 作为 Jersey 客户端序列化器/反序列化器?

javascript - @RequestBody 通过 Spring MVC JSON Jackson 处理器发送

java - 在 Struts2 中使用 AJAX 根据另一个选择菜单填充一个选择菜单

java - Struts2 转换枚举数组用单个空值填充数组

java - Android Oreo 通知崩溃系统 UI