【问题标题】:Struts2 accessing enum from JSPStruts2 从 JSP 访问枚举
【发布时间】:2013-04-17 15:13:34
【问题描述】:

我有以下课程

package com.test;

public class SomeClass {
   public enum COLOR {RED,BLUE}
}

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

<s:property value="@com.test.SomeClass.COLOR@RED"/>
<s:property value="@com.test.SomeClass@COLOR.RED"/>

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

【问题讨论】:

  • 你可以这样做,但你需要启用struts.ognl.allowStaticMethodAccess=true
  • 这个问题和那个问题应该合并。这个问题的标题更清楚,但实际上它们需要相同的解决方案。
  • @UmeshAwasthi 我已经启用了。但似乎无法访问枚举
  • @DevBlanked:你看过我在这里发布的链接吗

标签: jsp struts2 enums ognl


【解决方案1】:

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

Enum-s 可以使用 @ 这样的符号访问:

<s:property value="@package.ENUM@enumvalue"/>

在你的情况下,因为你在类内声明enum,所以使用$ 符号来引用你的enum

<s:property value="@com.test.SomeClass$COLOR@RED"/>

【讨论】:

  • 我希望我能在几周前遇到这个答案。 $ 是我所缺少的,因为我的 enums 在其他类中声明。
猜你喜欢
  • 1970-01-01
  • 2015-06-08
  • 2018-01-09
  • 2011-01-15
  • 1970-01-01
  • 2021-05-21
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多