1
11
不能。您最好的办法是将映射更改为使用enum.name()作为键:
你的第一种方法是可行的:
或者,如果您不想/不想更改地图,您可以编写一个自定义EL函数来为您执行上述操作。 |
2
15
你不能做到这一点并不完全正确,但解决办法并非完全是直截了当的。问题是,el没有将作为map键传入的字符串转换为相应的枚举,因此在map lookup中放入$map['one']不会使用枚举常量myenum.one。 我遇到了同样的问题,不想返回到使用字符串键控的映射,所以接下来的挑战是在JSTL中如何获取要在映射查找中使用的实际枚举引用。 需要的是将枚举常量放入JSP的范围,这样您就可以使用实际的枚举本身作为键。要执行此操作,请在控制器中执行以下操作:
您在这里所做的是将变量添加到名为枚举的字符串表示形式的作用域中。(当然,可以通过在e.ToString()前面加上一些值来避免命名问题) 现在,当您执行以下操作时
您将使用实际的枚举常量作为键,因此将从映射中获取适当的对应值。(注意,其中一个没有引号,这是因为您引用了上面添加的请求属性1) |
3
1
我通常使用这个解决方案:
首先,我导入枚举。然后,我将想要的枚举值保存到JSTL变量中。然后我可以用这个变量作为键访问映射。 |
4
0
它对我有用。但您必须编写类的完整名称:my.package.myenum或导入myenum类:
|
H.v.M. · 为最后一个枚举值指定不同的变量值 2 年前 |
JimmyDiJim · 在声明后定义枚举变量 6 年前 |
Eli K · 语法错误,插入“{”以完成枚举体(在类的末尾) 6 年前 |
Vivek Shukla · 在中间添加枚举 6 年前 |
DannyD · 如何访问typescript中的枚举名称 6 年前 |