来源:网友投稿 浏览数:9024 关注:377人
大家好,近很多小伙伴在关注actionsupport,以下是(www.liyan0123)小编整理的与actionsupport相关的内容分享给大家,一起来看看吧。
本文目录一览:
如果单是继承ActionSuppor类 就需要xwork-2.1.2.jar\x0d\x0a如果要搭建struts2 就要这六个包\x0d\x0a struts2-core.jar——Struts2的核心包\x0d\x0a xwork-core.jar——Command模式框架,WebWork和Struts2都基于xwork\x0d\x0a commons-logging.jar——Java日志工具类包\x0d\x0a commons-fileupload-1.2.1.jar——文件上传 \x0d\x0a freemarker.jar——模板引擎,一个基于模板生成文本输出的通用工具\x0d\x0a ognl.jar——Object-Graph Navigation Language,表达式语言,用来获取和设置Java对象属性\x0d\x0a可选包\x0d\x0a antlr.jar——语法分析器\x0d\x0a aopalliance.jar——AOP联盟标准接口\x0d\x0a classworlds.jar——class对象管理\x0d\x0a commons-beanutils.jar——Bean处理工具类包 这六个
actionsupport实现了 Action, Validateable, ValidationAware, TextProvider, LocaleProvider, Serializable 这几个接口
package com.opensymphony.xwork2;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.ResourceBundle;
public class ActionSupport implements Action, Validateable, ValidationAware, TextProvider, LocaleProvider, Serializable {
protected static Logger LOG = LoggerFactory.getLogger(ActionSupport.class);
private final ValidationAwareSupport validationAware = new ValidationAwareSupport();
private transient TextProvider textProvider;
private Container container;
public void setActionErrors(CollectionString errorMessages) {
validationAware.setActionErrors(errorMessages);
}
public CollectionString getActionErrors() {
return validationAware.getActionErrors();
}
public void setActionMessages(CollectionString messages) {
validationAware.setActionMessages(messages);
}
public CollectionString getActionMessages() {
return validationAware.getActionMessages();
}
@Deprecated
public CollectionString getErrorMessages() {
return getActionErrors();
}
@Deprecated
public MapString, ListString getErrors() {
return getFieldErrors();
}
public void setFieldErrors(MapString, ListString errorMap) {
validationAware.setFieldErrors(errorMap);
}
public MapString, ListString getFieldErrors() {
return validationAware.getFieldErrors();
}
public Locale getLocale() {
ActionContext ctx = ActionContext.getContext();
if (ctx != null) {
return ctx.getLocale();
} else {
if (LOG.isDebugEnabled()) {
LOG.debug("Action context not initialized");
}
return null;
}
}
public boolean hasKey(String key) {
return getTextProvider().hasKey(key);
}
public String getText(String aTextName) {
return getTextProvider().getText(aTextName);
}
public String getText(String aTextName, String defaultValue) {
return getTextProvider().getText(aTextName, defaultValue);
}
public String getText(String aTextName, String defaultValue, String obj) {
return getTextProvider().getText(aTextName, defaultValue, obj);
}
public String getText(String aTextName, List? args) {
return getTextProvider().getText(aTextName, args);
}
public String getText(String key, String[] args) {
return getTextProvider().getText(key, args);
}
public String getText(String aTextName, String defaultValue, List? args) {
return getTextProvider().getText(aTextName, defaultValue, args);
}
public String getText(String key, String defaultValue, String[] args) {
return getTextProvider().getText(key, defaultValue, args);
}
public String getText(String key, String defaultValue, List? args, ValueStack stack) {
return getTextProvider().getText(key, defaultValue, args, stack);
}
public String getText(String key, String defaultValue, String[] args, ValueStack stack) {
return getTextProvider().getText(key, defaultValue, args, stack);
}
public ResourceBundle getTexts() {
return getTextProvider().getTexts();
}
public ResourceBundle getTexts(String aBundleName) {
return getTextProvider().getTexts(aBundleName);
}
public void addActionError(String anErrorMessage) {
validationAware.addActionError(anErrorMessage);
}
public void addActionMessage(String aMessage) {
validationAware.addActionMessage(aMessage);
}
public void addFieldError(String fieldName, String errorMessage) {
validationAware.addFieldError(fieldName, errorMessage);
}
public String input() throws Exception {
return INPUT;
}
public String doDefault() throws Exception {
return SUCCESS;
}
public String execute() throws Exception {
return SUCCESS;
}
public boolean hasActionErrors() {
return validationAware.hasActionErrors();
}
public boolean hasActionMessages() {
return validationAware.hasActionMessages();
}
public boolean hasErrors() {
return validationAware.hasErrors();
}
public boolean hasFieldErrors() {
return validationAware.hasFieldErrors();
}
public void clearFieldErrors() {
validationAware.clearFieldErrors();
}
public void clearActionErrors() {
validationAware.clearActionErrors();
}
public void clearMessages() {
validationAware.clearMessages();
}
public void clearErrors() {
validationAware.clearErrors();
}
public void clearErrorsAndMessages() {
validationAware.clearErrorsAndMessages();
}
public void validate() {
}
@Override
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
public void pause(String result) {
}
private TextProvider getTextProvider() {
if (textProvider == null) {
TextProviderFactory tpf = new TextProviderFactory();
if (container != null) {
container.inject(tpf);
}
textProvider = tpf.createInstance(getClass(), this);
}
return textProvider;
}
@Inject
public void setContainer(Container container) {
this.container = container;
}
}
1、Struts 2的Action无须实现任何接口或继承任何类型,普通的POJO类就可以用做Action类。
Struts2中通常直接使用Action来封装HTTP请求参数,因此,Action类里还应该包含与请求参数对应的属性,并且为属性提供对应的getter和setter方法。
2、ActionSupport已经实现了Action接口,还实现了Validateable接口,提供了数据校验功能。通过继承该ActionSupport类,可以简化Struts 2的Action开发。
Actionsupport这个工具类在实现了Action接口的基础上还定义了一个validate()方法,重写该方法,它会在execute()方法之前执行,如校验失败,会转入input处,必须在配置该Action时配置input属性。
Actionsupport还提供了一个getText(String key)方法还实现国际化,该方法从资源文件上获取国际化信息。
扩展资料:
Action接口有:
public static final java.lang.String SUCCESS = "success";
public static final java.lang.String NONE = "none";
public static final java.lang.String ERROR = "error";
public static final java.lang.String INPUT = "input";
public static final java.lang.String LOGIN = "login";
public abstract java.lang.String execute() throws java.lang.Exception;
参考资料:百度百科-ACTION
以上就是actionsupport的相关介绍,希望能对大家有所帮助。
获赞:928 | 收藏:41 | 发布时间:2024-05-16 10:22:14
原文链接:http://www.liyan0123.com/36524.html
=========================================
特别声明:以上内容来源于网友投稿,编辑整理发布,如有不妥之处,请与我方联系删除处理。