Strurt2中的方法的调用方式

  • Post author:
  • Post category:其他


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>



版权声明:本文为weixin_40471291原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。