提问人:user9404194 提问时间:12/1/2021 最后编辑:Roman Cuser9404194 更新时间:12/5/2021 访问量:153
将 Struts 从 Struts 2.5.22 升级到 2.5.27 后,Struts Jquery 网格负载问题
Struts Jquery Grid load issue after upgrading Struts to 2.5.27 from Struts 2.5.22
问:
嗨,我们最近将 Struts2 从 Struts 2.5.22 升级到 2.5.27 。在我们的应用程序中,我们使用的是 Struts Jquery Grid。我们正在使用 struts2-jquery-grid-plugin-4.0.3.jar 库。
我们的应用程序需求之一是为网格 id 分配一个动态值,即 bean 属性。 我的代码片段如下:
<sjg:grid id="%{#tabGrid.gridId}" caption="%{#tabGrid.gridCaption}" gridModel="%#tabGrid.gridData}" href="%{gridUrl}"-------->
在升级之前,上面的代码段正在工作。但是在升级之后,我们无法分配网格 id bean 属性。但是我们可以分配网格标题 bean 属性,如上面的代码片段所示。只有当我们为 id 分配一个 bean 属性时,我的代码才会中断。
我试图通过分配属性 bean 的网格类值而不是 id 来解决方法。但是此更改将影响我的应用程序中的许多代码更改。 请提出可能的原因和可能的解决方案。
答:
0赞
Roman C
12/5/2021
#1
从 Struts 2.5.26 开始,您不能再使用公共属性在 Struts 标签中强制 OGNL 计算,这会导致对 OGNL 表达式的双重评估。该夹具记录在 S2-061 中。%{}
如果开发人员使用语法应用强制 OGNL 评估,则标记的某些属性可能会执行双重评估。对不受信任的用户输入使用强制 OGNL 评估可能会导致远程代码执行和安全性下降。
%{...}
评论
1赞
user9404194
12/9/2021
谢谢罗曼的澄清
评论