在param操作中插入枚举值

时间:2013-10-29 18:39:10

标签: java struts2 enums

我正在尝试将Enum值设置为以下操作

<action name="actionOne" class="SomeClass">
    <param name="myValue">@some.package.Enum@VALUE</param>
    <result name="success">result.jsp</result>
</action>

但在调试时,会显示 myValue

null

myValue对应于具有公共 getter setter 的私有对象。 是否有可能做到这一点?我做错了什么?

1 个答案:

答案 0 :(得分:4)

为此您需要配置静态参数拦截器。您需要启用静态参数的解析并将其从请求参数映射中排除。同时将参数值包装在${...}中以进行评估。

<action name="actionOne" class="SomeClass">
  <interceptor-ref name="defaultStack">
    <param name="staticParams.parse">true</param>
    <param name="staticParams.merge">false</param>
  </interceptor-ref>

  <param name="myValue">${@some.package.Enum@VALUE}</param>

  <result name="success">result.jsp</result>
</action>