在struts2框架中action类代替了servlet的地位,原因是action类里面封装了很多的方法,可以直接拿来使用而不必要再自己手动创建,因此,action的创建也存在着几种方式,各位看官请看下面的笔记~
Struts2的Action创建
1、Struts2的Action创建方式
Struts2中Action类的创建方式有三种,分别是:
【1】POJO
【2】实现一个接口
【3】继承一个类
这三种创建Action类的共同点就是名称的命名——均需要以xxxAction的名字来命名~
下面就由电虫来带领各位看官看看这几种创建action类的方式究竟是怎么个样子~
1.1、POJO方式创建Action
首先,要明白何为POJO——POJO是Plain OrdinaryJava Object的缩写;
POJO:Java中简单的类(其实就是一个普通的JavaBeans),不需要继承父类也不需要实现任何接口;
此方法创建action类更加的安全,使得struts2框架被代码入侵的几率更低(因为简单,所以安全),此方式创建action的方式如下:
package com.java.Action;
public class TestAction{
public String StrutsTest(){
System.out.println("You are right!");
return "success";
}
}
TestAction:
此种方法并不常用,原因很简单,这就像servlet一样了,什么都要手写,那还玩个屁啊,直接继续用servlet不就好了~
1.2、实现一个接口的方式创建Action
此方法创建Action中需要实现一个action接口,这个接口的全名叫:com.opensymphony.xwork2.Action,并重写execute()方法。
此方式下建成的action类如下所示:
TestAction2:
package com.java.Action;
import com.opensymphony.xwork2.Action;
public class TestAction2 implements Action{
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return null;
}
}
TestAction2:
注意:
1)此种方式中存在一个execute()方法,此方法并不是让编程者去实现这个方法,而是起到提示作用,提示编程者如何在这种情况下去编写action方法;
2) 这个实现的action接口中封装了很多的字段,这些字段可以在进行结果返回时被直接使用;
此种方式也是不怎么常用的;
1.3、继承一个类的方式创建Action
此方式中需要继承一个名为ActionSupport类,继承这个类的好处就是被继承的这个类做过的东西可以被拿来直接用,在这个被继承的类中有许多的重要的接口可以被直接调用,重写,其action类创建如下所示:
package com.java.Action;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class TestAction3 extends ActionSupport{
/*写方法、调方法*/
}
TestAction3:
此方式是最常用的方式;
pass:Struts2中就这三种创建Action类的方式,用得最普遍的还是第三种继承 ActionSupport方法~