标签:
在Struts框架中,我们在写Action类的时候,往往要extends ActionSupport。
1、public class ActionSupport implements Action, Validateable, ValidationAware, TextProvider, LocaleProvider, Serializable
ActionSupport实现了很多类,其中就有Action。
2、Action 是 package com.opensymphony.xwork2中的一个interface。
里面有一个public String execute() throws Exception;方法和几个常量:
/* * Copyright 2002-2007,2009 The Apache Software Foundation. */ package com.opensymphony.xwork2; public interface Action { public static final String SUCCESS = "success"; public static final String NONE = "none"; public static final String ERROR = "error"; public static final String INPUT = "input"; public static final String LOGIN = "login"; public String execute() throws Exception; }
3、ActionSupport对execute的实现:
public String execute() throws Exception { return SUCCESS; }
4、Actionsupport在实现Action接口的基础上,定义了一个validate()方法,重写该方法,它会在execute()方法之前执行,
如校验失败,会转入input处,必须在配置该Action时配置input属性。
另外,Actionsupport提供了一个getText(String key)方法还实现国际化,该方法从资源文件上获取国际化信息.
这样在自定义标签时可以定义一个变量为new actionsupport对象实现国际化。
5、作用
struts2不要求我们自己设计的action类继承任何的struts基类或struts接口,但是我们为了方便实现我们自己的action,大多数情况下都会继承
com.opensymphony.xwork2.ActionSupport类,并重写此类里的public String execute() throws Exception方法。因为此类中实现了很多的实用借口,
提供了很多默认方法,这些默认方法包括国际化信息的方法、默认的处理用户请求的方法等,这样可以大大的简化Acion的开发。 Struts2中通常直接使用Action
来封装HTTP请求参数,因此,Action类里还应该包含与请求参数对应的属性,并且为属性提供对应的getter和setter方法。
标签:
原文地址:http://www.cnblogs.com/JustForJava/p/4667955.html