关于Struts2通配符无效的说明

本文介绍 Struts2.5 中如何配置动态方法调用及增强安全性。通过设置 global-allowed-methods 和 struts.enable.DynamicMethodInvocation 属性实现。适用于需要动态调用 Action 方法的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在struts2.3之前的版本,正常的配置就可以了,但在struts2.3版本之后,使用通配符调用方法时,内部会验证是否允许访问该方法。

1、struts2.5 为了增加安全性,在 struts.xml 添加了这么个属性:<global-allowed-methods>regex:.*</global-allowed-methods>,例子如下:

<package name="default" extends="struts-default" namespace="/index" >
<global-allowed-methods>regex:.*</global-allowed-methods>

<action name="User_add" class="com.wg.struts2.UserAction" >
<result>/user/addUser.jsp</result>
</action>

<action name="*_*" class="com.wg.struts2.{1}Action" method="{2}">
<result>/user/{2}{1}.jsp</result>
</action>

<action name="help" >
<result>/help.jsp</result>
</action>

</package>

2、当使用动态调用方法时(action名 + 感叹号 + 方法名进行方法调用),如:<a href="<%=context %>/index/User_add!add">添加用户</a><br />,则需要在配置文件中加上配置:

<constant name="struts.enable.DynamicMethodInvocation" value="true" />

 

转载于:https://www.cnblogs.com/junwangzhe/p/7094524.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值