struts2 no longer accepts http map parameters?(struts2 不再接受http map 参数?)
问题描述
在 struts2 中,我利用了 struts2 中内置的 OGNL,将输入命名为 <input name='bag["item"].property'>
哪个去 getters/setters getBag().get("item").setProperty(value)
我已经升级到 struts 2.2.1,突然那些不再工作:getter 永远不会被调用.
In struts2, I took advantage of built-in OGNL in struts2, naming my inputs like <input name='bag["item"].property'>
Which went to getters/setters getBag().get("item").setProperty(value)
I've upgraded to struts 2.2.1, and suddently those no longer work: the getter never gets called.
互联网对在参数中使用 OGNL 完全保持沉默,好像从来没有人制作过复杂的表格.
The internet is utterly silent on using OGNL in parameters, as if nobody ever made complex forms.
如何取回我的地图参数?
How do I get my map-parameters back?
推荐答案
事实证明,他们加强了对参数名称的限制以提高安全性.
It turns out that they hardened restrictions on parameter names to boost security.
所以我不得不添加到我的 struts.xml:
So I had to add to my struts.xml:
<interceptor-stack name="defaultStack">
<interceptor-ref name="params">
<!-- For maps to work -->
<param name="acceptParamNames">
[a-zA-Z0-9.][()_'s"/]+
</param>
</interceptor-ref>
</interceptor-stack>
(我的参数名称中有s 和/s")在那之后文件上传停止工作(拦截器堆栈很疯狂),所以我也必须明确添加它.
(I had "s and /s in my parameter names) File upload ceased working after that (interceptor stacks are madness), so I had to add it explicity either.
更新:最近我强烈建议使用 JSON 来传递复杂的结构,而不是丰富的 OGNL 形式.当然你需要一些 JS.
Update: These days I strongly suggest using JSON to pass complex structures instead of rich OGNL forms. Of course you would need some JS.
这篇关于struts2 不再接受http map 参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:struts2 不再接受http map 参数?
基础教程推荐
- Java:带有char数组的println给出乱码 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 降序排序:Java Map 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01