文章目录
- 方法一:Action类是一个POJO类(简单的Java类)
 - ActionDemo2.java
 - struts_demo2.xml
 - struts.xml
 - 运行结果
 - 其他
 - strutsz_demo1.xml
 
- 方法二:实现一个Action的接口
 - ActionDemo2_2.java
 - struts_demo2.xml
 - 运行结果
 
- 推荐!!!方法三:Action类继承ActionSupport类
 - struts_demo2.xml
 - 运行结果
 
action一共有三种编写方法:
方法一:Action类是一个POJO类(简单的Java类)
新建包,action类,模块化的struts_demo2.xml的文件
 
ActionDemo2.java

package com.zhang.struts2.demo2;
/**
 * 
 * @author zhangwt
 *Action的编写方式:Action类是一个POJO类,(简单的Java类)
 */
public class ActionDemo2 {
	public String execute(){
		System.out.println("ActionDemo2执行了~~~~~~~");
		return null;
	}
}
 
struts_demo2.xml

<?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>
	<!-- Struts2为了管理Action的配置,通过package进行管理,action类在package里 -->
	
	<!-- 配置Struts2的包================== -->
		<!--package的name随便起名,但是不能重复 -->
		<package name="demo2" extends="struts-default" namespace="/">
			<action name="ActionDemo2" class="com.zhang.struts2.demo2.ActionDemo2"></action>
		</package>
</struts>
 
struts.xml

<?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>
	<!-- Struts2为了管理Action的配置,通过package进行管理,action类在package里 -->
	
	<!-- 配置Struts2的包================== -->
			<!-- 使用模块化将action的配置包含进来 -->
			<include file="com/zhang/struts_demo1.xml" />
			<include file="com/zhang/struts2/demo2/struts_demo2.xml"></include>
</struts>
 
运行结果
从 项目 运行
 
其他
strutsz_demo1.xml

<?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>
	<!-- Struts2为了管理Action的配置,通过package进行管理,action类在package里 -->
	
	<!-- 配置Struts2的包================== -->
		<!--package的name随便起名,但是不能重复 -->
		<package name="test" extends="struts-default" namespace="/">
			<!-- 配置Action============== -->
			<action name="hello" class="com.zhang.hello">
				<!-- 配置页面的跳转============== -->
				<result name="success">/success.jsp</result>
				
			</action>
		</package>
</struts>
 
方法二:实现一个Action的接口
先写一个action类,再写配置文件,再在 项目 运行
ActionDemo2_2.java

package com.zhang.struts2.demo2;
import com.opensymphony.xwork2.Action;
/**
 * Action的编写 
 * @author zhangwt
 * 	实现接口的这种方式,提供了五个常量(五个逻辑视图的名称)
 * SUCCESS  :成功
 * ERROR	:失败
 * LOGIN	:登录出错页面跳转
 * INPUT	:表单的时候出错
 * NONE		:不跳转
 *
 */
public class ActionDemo2_2 implements Action{
	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("ActionDemo2_2执行了~~~~这是Action的第二个编写方法:实现一个Action的接口");
		return null;
	}
}
 
struts_demo2.xml

运行结果
在 项目 运行
 
推荐!!!方法三:Action类继承ActionSupport类
先写一个action类,再写配置文件,再在 项目 运行
 ActionDemo2_3.java
 
package com.zhang.struts2.demo2;
import com.opensymphony.xwork2.ActionSupport;
/**
 * 
 * @author zhangwt
 *Action的编写方式三:Action类继承ActionSupport类
 *推荐使用这种方式,ActionSupport类中提供了数据校验,国际化等一系列操作的方法
 */
public class ActionDemo2_3 extends ActionSupport{
	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("ActionDemo2_3执行啦~~~这是action类的第三种编写方式:Action类继承ActionSupport类");
		return NONE;
	}
}
 
struts_demo2.xml

<?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>
	<!-- Struts2为了管理Action的配置,通过package进行管理,action类在package里 -->
	
	<!-- 配置Struts2的包================== -->
		<!--package的name随便起名,但是不能重复 -->
		<package name="demo2" extends="struts-default" namespace="/">
			<action name="ActionDemo2" class="com.zhang.struts2.demo2.ActionDemo2"></action>
			<action name="ActionDemo2_2" class="com.zhang.struts2.demo2.ActionDemo2_2"></action>
			<action name="ActionDemo2_3" class="com.zhang.struts2.demo2.ActionDemo2_3"></action>
		</package>
</struts>
 
运行结果
在 项目 运行
 



















