【Pojo方式】
1.概述
Pojo(Plain Ordinary Java Object)称为简单Java类,其实就是一个JavaBean.
2.示例
1 /** 2 * Pojo类方式实现Action 3 * 4 * 优点: 5 * 没有继承或实现任何类或接口,类不具有侵入性。便于代码的测试和迁移。 6 * 缺点: 7 * 没有约束,容易出现错误。 8 * 不适用于新手使用 9 * @author Terry 10 * 11 */ 12 public class PojoAction { 13 public String execute(){ 14 System.out.println("Pojo.execute() is do......"); 15 16 return "success"; 17 } 18 }
1 <package name="pojo" extends="struts-default"> 2 <action name="pojo" class="cn.hl.action.PojoAction" > 3 <result>/index.jsp</result> 4 </action> 5 </package>
3.优点
简单、方便。不具有侵入性(不具备侵入性:没有继承或实现其他类或接口),便于代码的迁移。
4.缺点
没有约束,容易出现错误,不适合新手使用。
【实现接口】
1.概述
通过实现Action接口的方式实现Action类。
2.示例
1 /** 2 * 实现方式 3 * 创建类并实现Action接口 4 * 5 * 优点: 6 * 具有一定的约束性,减少了错误的发生 7 * 缺点: 8 * 通过实现的方式实现的Action,使类具有了侵入性,降低了代码的迁移性 9 * 10 * @author Terry 11 * 12 */ 13 public class InheritAction implements Action{ 14 15 @Override 16 public String execute() throws Exception { 17 System.out.println("InheritAction.execute() is do......"); 18 return null; 19 } 20 21 }
3.优点
具有一定的约束性,减少了错误的发生
4.缺点
通过实现的方式实现的Action,使类具有了侵入性,降低了代码的迁移性
【继承类】
1.概述
通过继承ActionSupport类的方式实现Action。
2.示例
1 /** 2 * 继承方式实现Action 3 * 通过继承ActionSupport类进行实现 4 * 5 * 优点: 6 * 可以直接继承父类的非私有成员,达到最少代码实现Action 7 * 缺点: 8 * 具有侵入性,同时会继承父类所有非私有成员(这些成员不一定都被使用) 9 * 官方推荐方式 10 * @author Terry 11 * 12 */ 13 public class ExtendsAction extends ActionSupport{ 14 15 }
3.优点
可以直接继承父类的非私有成员,达到最少代码实现Action
4.缺点
具有侵入性,同时会继承父类所有非私有成员(这些成员不一定都被使用)
【Action接口的成员】
- success :表示Action执行成功,需要将结果展示给用户
- none :表示Action执行成功,但不需要象用户展示任何内容。如:下载功能
- error :表示Action执行失败,需要向用户展示一个错误视图
- input :表示需要跳转到输入表单时使用
- login :表示需要用户执行登录时使用