Struts2动态方法调用

本文详细介绍了在Struts框架中如何通过URL动态决定调用Action类的具体方法,包括禁用动态方法调用的安全措施及通过通配符实现动态调用的方法。展示了如何在struts.xml中配置以实现特定的功能。

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

特点:在struts.xml配置中,不指定method,由url动态决定具体调用Action类的哪个方法。
一、配置文件



index.jsp
success.jsp
exit.jsp
fail.jsp

二、url组成:actionName!methodName.action

<s:a href=“user!logout.action”>退出</s:a>

默认条件下,浏览器输入indexAction!execute.action,就会执行indexAction类里的execute方法,这样虽然方便,但安全隐患,可以通过url执行Action中的任意方法。
通过禁用动态方法。

通过通配符实现动态调用

1 通过action元素的method属性来指定Action执行时调用的方法
Name=”User”/”User”/”User” method=“{num}”,num代表第几次匹配到的值
如果匹配到,就执行对应方法;如果未匹配到会执行execute()方法,如果execute()方法没有重写,会调用继承的父类的execute()方法,默认返回”success”。

<action name="*User" class="action.UserAction" method="{1}" >
<result name="input">index.jsp</result>
<result name="success">success.jsp</result>
<result name="exit">index.jsp</result>
<result name="error">fail.jsp</result>
</action>

2更改前台jsp页面,User前为要执行的方法名

<s:form action="loginUser" theme="simple">
用户名:<s:textfield name="user.userName"></s:textfield><br>
年龄:<s:textfield name="user.age"></s:textfield><br>
<s:submit value="提交"></s:submit>
</s:form>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值