Action都会继承于ActionSupport,ActionSupport是辅助Action类能够更好地完成工作的基类,它实现了几个接口并且包含了一组默认的实现。
ActionSupport所实现的接口:
1 Action接口:该接口提供了SUCCESS、ERROR、NONE、INPUT和LOGIN5个常量及一个execute()方法,这些常量定义了Action返回的标准字符串,可以在Action中直接使用这些常量作为返回结果;
2 Validateable接口:该接口提供了一个validate()方法用于校验表单数据,在实际使用过程中需要重写该方法。当表单输入信息出现错误时,通过ActionSupport类的addFieldError()方法把错误信息添加到fieldErrors域中,需要显示错误信息时,由OGNL表达式获取错误信息。
3 ValidationAware接口:该接口定义了一些方法用来对Action执行过程中产生的信息进行处理,该接口中各个方法的功能如下:
void addActionError(String anErrorMessage)
增加一个Action级别的错误信息到对应Action
void addActionMessage(String aMessage)
增加一个Action级别的信息到该Action
void addFieldError(String fieldName, String errorMessage)
增加一个错误信息到指定的字段
Collection getActionErrors()
获得Action中用于装载Action级别错误信息字符串的集合
Collection getActionMessages()
获取Action中用于装载Action级别信息字符串的集合
Map getFieldErrors()
获取与本Action相关联的指定字段错误信息
boolean hasActionErrors()
检查是否存在Action级别的错误信息
boolean hasActionMessages()
检查是否存在Action级别的信息
boolean hasErrors()
检查是否存在Action级别的信息或者字段错误信息
boolean hasFieldErrors()
检查是否存在与本Action相关联的特定字段错误信息
void setActionErrors(Collection errorMessages)
设置用于封装Action级别错误信息字符串的集合
void setActionMessages(Collection messages)
设置装载Action级别信息字符串的集合
void setFieldErrors(Map errorMap)
设置字段错误信息映射
4 LocalProvider接口:该接口提供了一个getLocale()方法,用于国际化时获得语言/地区信息。在Struts2中当前用户的语言,地区信息被封装在java.util.Locale类中,需要时可通过com.opensymphony.xwork.LocaleProvider接口中的getLocal()方法来获得Local中的语言/地区信息。
5 TextProvider接口: 该接口提供了一系列getText()方法,用于获得对应的国际化信息资源。在Struts2中的国际化信息资源都是以key=value的形式提供的,通过使用本接口所提供的getText()方法,可以用key来获得符合条件的value值。