我正在尝试将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 的私有对象。 是否有可能做到这一点?我做错了什么?
答案 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>