OGNL 静态字段在 struts2 中不起作用

发布于 2024-09-06 04:15:21 字数 567 浏览 2 评论 0原文

无法使用 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";

我有常量 ; 正确设置

Not able to access static fields with OGNL with struts2

<s:checkbox  name="operation" fieldValue="@com.xx.xxx.webapp.action.EntryAction@OPERATIONAL" />

The above turning to HTML as below

<input type="checkbox" name="operation" value="@com.xx.xxx.webapp.action.EntryAction@OPERATIONAL" id="entry_operation"/>

instead the static constant declared as

com.xx.xxx.webapp.action.EntryAction.OPERATIONAL = "OPERATIONAL";

I've the constant <constant name="struts.ognl.allowStaticMethodAccess" value="true"/> set correctly

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

_畞蕅 2024-09-13 04:15:21

您的问题与静态字段无关,而是与基本的 Struts2 标记语法有关。该代码在多个层面上都是错误的。

首先,您应该使用它的 value 属性,以便 Struts2 将内部内容解释为要评估和渲染的内容(fieldValue 仅适用于您需要的极少数情况在 html 中编写固定的临时 value="" 属性)。

其次,学习Struts2时不要使用静态字段,先了解基本和典型场景。

第三,使用该字符串作为复选框的值没有什么意义,因为该复选框只有两个值(true 和 false)。

Your problem is not related to static fields, but to basic Struts2 tag syntax. The code is wrong on several levels.

First, its the value attribute which you should be using, so that Struts2 interpret what's inside as something to evaluate and render (fieldValue is only for those rare cases in which you need to write a fixed ad-hoc value="" attribute in your html).

Second, you should not use static fields if you are learning Struts2, understand the basic and typyical scenarios first.

Third, it makes little sense to use that string as value of a checkbox, which has just two values (true and false).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文