struts2 acceptParamNames不适用于以下值

时间:2017-04-12 13:04:32

标签: regex struts2 ognl

我想将值从JSP发送到struts Bean。在Bean中,我有一个我要设置的值的地图。它适用于所有其他密钥。但是当键名如下所示时,它不接受。

键名:Proximus Voice Continuity.CUSTOMERID.value

在我的struts配置中我有以下配置:

<interceptor-ref name="params">
    <!-- For maps to work -->
    <param name="acceptParamNames">[a-zA-Z0-9\.\]\[\(\)_'\s"/-]+</param>
</interceptor-ref>

1 个答案:

答案 0 :(得分:1)

我测试了你的正则表达式模式,它与指定的键匹配。但是你的密钥是由其他不能在OGNL表达中使用的密钥组成的。

如果从拦截器中删除acceptParamNames参数,则您的密钥与默认模式列表不匹配。

默认情况下使用此正则表达式模式

\w+((\.\w+)|(\[\d+\])|(\(\d+\))| (\['(\w|[\u4e00-\u9fa5])+'\])|(\('(\w|[\u4e00-\u9fa5])+'\)))*

如果删除键名中的空格,则它与此模式匹配。