无法使用带有struts2
的OGNL访问静态字段<s:checkbox name="operation" fieldValue="@com.xx.xxx.webapp.action.EntryAction@OPERATIONAL" />
以上转向HTML如下
<input type="checkbox" name="operation" value="@com.xx.xxx.webapp.action.EntryAction@OPERATIONAL" id="entry_operation"/>
而是将静态常量声明为
com.xx.xxx.webapp.action.EntryAction.OPERATIONAL = "OPERATIONAL";
我已正确设置常量<constant name="struts.ognl.allowStaticMethodAccess" value="true"/>
答案 0 :(得分:3)
您的问题与静态字段无关,而与基本Struts2标记语法无关。代码在几个层面上都是错误的。
首先,它应该使用 value 属性,以便Struts2将内部内容解释为要评估和呈现的内容( fieldValue 仅适用于那些罕见的情况。你需要在你的html中写一个固定的ad-hoc value =“”属性。
其次,如果您正在学习Struts2,则不应使用静态字段,首先要了解基本和典型场景。
第三,将该字符串用作复选框的值是没有意义的,复选框只有两个值(true和false)。