1、创建一个pojo类
这个可以参考第一篇博客,创建的简单登录校验
pojo其实就是一个简单的java类
它没有实现任何接口,也没有继承任何类。
优点:无耦合
适用于逻辑相对简单的action
1 package com.xsl.action;2 //Struts2任何一个普通的Java类都可以成为Action3 public class TestAction1 {4 public String execute(){5 System.out.println("struts2创建action的第1种方式。");6 return "success";7 }8 }
2、实现Action接口
com.opensymphony.xwork2.Action
这个接口里有五个常量属性和一个方法
属性:
success:成功视图
none:代表返回null,不做任何操作(跳转操作也不会做)
error:错误视图
input:这是struts2框架中interceptor中发现问题后会访问的一个视图
login:一个登录视图,可用于权限操作
方法:
execute:将要执行的方法,需要重写此方法,
index.jsp页面:struts2创建action的第2种方式struts.xml里:复制代码 1 2 34 5 6 7 12 138 10 11/success.jsp 9
TestAction2.java里:(继承Action类) 1 package com.xsl.action; 2 3 import com.opensymphony.xwork2.Action; 4 5 public class TestAction2 implements Action { 6 7 public String execute() throws Exception { 8 System.out.println("struts2创建action的第2种方式。"); 9 return SUCCESS;10 }11 12 }
3、继承ActionSupport类
com.opensymphony.xwork2.ActionSupport
此类也实现了Action接口
因为它具有丰富的功能,如表单校验 错误信息 设置国际化等,所以常在开发中使用,但也同样有高耦合的问题
index.jsp页面:struts2创建action的第3种方式struts.xml里: 1 2 34 5 6 7 12 138 10 11/success.jsp 9
TestAction3.java里:(继承ActionSupport类) 1 package com.xsl.action; 2 3 import com.opensymphony.xwork2.ActionSupport; 4 5 public class TestAction3 extends ActionSupport { 6 public String test1(){ 7 System.out.println("struts2创建action的第3种方式。"); 8 return SUCCESS; 9 }10 }
第四种方式:
index.jsp页面:struts2创建action的第3.1种方式 struts.xml里: 1 2 34 5 6 7 12 138 10 11/success.jsp 9