Strurt2中的方法的调用方式

本文介绍了Struts2中访问action方法的三种方式,包括定义一个Action类,以及无脑式写多个action通过name属性值访问对应方法、动态调用方式和通配符形式。

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

Strurt2中的方法的调用方式

访问action方法的三种方式

 1.定义一个Action类

//演示动态方法调用
public class Demo1Acton {
	
	public String add(){
			System.out.println("添加用户");
		return "success";
	}

	public String delete(){
			System.out.println("删除用户");
		return "success";
	}

	public String update(){
			System.out.println("修改用户");
		return "success";
	}

	public String find(){
			System.out.println("查询用户");
		return "success";
	}
}

 

方式1.无脑式写法写多个action   访问不同action中的name属性值即可访问对应的方法

<?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
		
<struts>
		
		 <package name="dynamic" namespace="/dynamic" extends="struts-default">
			<action name="Demo1Action_add" class="cn.test.Demo1Acton" method="add">
				<result name="success">/hello.jsp</result>			
			</action>

<action name="Demo1Action_delete" class="cn.test.Demo1Acton" method="delete">
				<result name="success">/hello.jsp</result>			
			</action>

<action name="Demo1Action_upfate" class="cn.test.Demo1Acton" method="update">
				<result name="success">/hello.jsp</result>			
			</action>

<action name="Demo1Action_find" class="cn.test.Demo1Acton" method="find">
				<result name="success">/hello.jsp</result>			
			</action>
		</package> 
		
</struts>

方式1: 动态调用方式

<?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
		
<struts>
		
		<!-- 设置动态方法调用是否开启常量 
			默认是关闭的,需要开启
				
			http://localhost:8080/struts2_day01/dynamic/Demo1Action!find.do
			上述方式 不推荐  name!method
			其中.do是配置的<constant name="struts.action.extension" value="do"></constant>配置
		-->
        <!-- 后缀名配置 -->
        <constant name="struts.action.extension" value="do"></constant>

		 <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant> 
		
		 <package name="dynamic" namespace="/dynamic" extends="struts-default">
			<action name="Demo1Action" class="cn.test.Demo1Acton">
				<result name="success">/hello.jsp</result>			
			</action>
		</package> 
		
</struts>

 方式2:通配符形式


<?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
		
<struts>
	    <!-- http://localhost:8080/dynamic/Demo1Action_add -->
		<package name="dynamic" namespace="/dynamic" extends="struts-default">
			<!-- 动态方法调用方式:通配符
				{1}取出第一个新号通配中的内容
				同样的 
				Demo1Action_*_* 
				{2} 取第2个匹配中的内容
			 -->
			<action name="Demo1Action_*" class="cn.test.Demo1Acton" method="{1}">
				<result name="success">/hello.jsp</result>			
			</action>
		</package>
</struts>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值