Struts2从JSP访问枚举

Dev*_*ked 11 enums jsp struts2 ognl

我有以下课程

package com.test;

public class SomeClass {
   public enum COLOR {RED,BLUE}
}
Run Code Online (Sandbox Code Playgroud)

我想COLOR在JSP中访问枚举值.我尝试了以下代码,但它不起作用.

<s:property value="@com.test.SomeClass.COLOR@RED"/>
<s:property value="@com.test.SomeClass@COLOR.RED"/>
Run Code Online (Sandbox Code Playgroud)

以前有人问过这个问题吗?[我已经在struts.xml中启用了静态方法访问]

Ale*_*r M 15

对于enum-s,不需要启用static method access.

可以使用以下@符号访问Enum-s :

<s:property value="@package.ENUM@enumvalue"/>
Run Code Online (Sandbox Code Playgroud)

在你的情况下,因为你在enum内部声明使用$标志来引用你的enum.

<s:property value="@com.test.SomeClass$COLOR@RED"/>
Run Code Online (Sandbox Code Playgroud)

  • 我希望我几周前就遇到过这个答案。`$` 是我所缺少的,因为我的 `enum` 是在其他类中声明的。 (2认同)