Struts2 : Action配置 动态访问调用

本文深入探讨了Struts2框架中Action类的作用及实现业务逻辑控制器的功能,详细阐述了Action类属性名与JSP表单标签的对应关系,以及如何通过感叹号方式、method属性、通配符和默认配置实现动态访问调用,解决了实际应用中多个业务处理需求。

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

Action是Struts 2的核心类,实现了对用户请求信息的处理,Action是业务逻辑控制器。

Action类中的属性名,与(jsp页面中的)form表单各标签的name属性要一一对应,区分大小写。


动态访问调用

实际应用中,存在一个Action处理多个业务的情况,则每个Action会包含多个处理业务逻辑的方法,根据客户端的不同请求,决定调用不同方法。

1.   感叹号方式(可用)

此时,struts.xml中需要配置常量:

<constantname="struts.enable.DynamicMethodInvocation" value="true"/>

如:一个form表单有多个提交按钮,不同按钮对应Action中不同方法,即动态调用。

格式为:

<s:form action=”actionName!要调用的方法名字”>或

<s:form action=”actionName!要调用的方法名字.action”>

此时,struts.xml中只需配置一个action,而不必配置各个方法:

<action name=”actionName”class=”包名.Action类名”>

 <result name=”xxx”>视图URL</result>

</action>

2.   method属性(不方便使用)

action元素除了name和class属性外,还有method属性,用于指定要执行的Action方法。格式:

<action name=”actionName” class=”包名.Action类名” method=”方法名称”>

 <result name=”xxx”>视图URL</result>

</action>

/*注意No configuration found for the specified action问题

这个问题的解决需要struts.xml里配置的namespace与form表单中的namespace一致。

另外,不要在action的name后加.action

*/

3.   通配符

<action name=”msg_*” class=”包名.action类名” method=”{1}”>

 <result>/success.jsp</result>

<result name=”xxx”>{1}.jsp</result>

</action>

4.   默认配置

当用户请求找不到对应的action元素值时,系统将调用默认Action来接收用户请求信息。

struts.xml中,<package>标签下有<default-action-ref>用于配置默认Action。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值