actionsupport请问这是怎么回事,我的action继承了ActionSupport类,但是没有在jsp页面出现必须输的提示信息反而跳转到
actionsupport 时间:2021-06-02 阅读:(
)
请问各位大师:action类继承ActionSupport,其中execute()和validate()是自动执行吗?还是自动执行哪一个
补充楼上
execute()方法有可能不执行吧。
这个方法主要看struts配置文件中method属性的配置。
配置的哪个名字的方法就执行哪个方法。
actionsupport实现了哪几个接口
actionsupport实现了 Action, Validateable, ValidationAware, TextProvider, LocaleProvider, Serializable 这几个接口
.opensymphony.xwork2;
.opensymphony.xwork2.inject.Container;
.opensymphony.xwork2.inject.Inject;
.opensymphony.xwork2.util.ValueStack;
.opensymphony.xwork2.util.logging.Logger;
.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(Collection errorMessages) {
validationAware.setActionErrors(errorMessages);
}
public Collection getActionErrors() {
return validationAware.getActionErrors();
}
public void setActionMessages(Collection messages) {
validationAware.setActionMessages(messages);
}
public Collection getActionMessages() {
return validationAware.getActionMessages();
}
@Deprecated
public Collection getErrorMessages() {
return getActionErrors();
}
@Deprecated
public Map> getErrors() {
return getFieldErrors();
}
public void setFieldErrors(Map> errorMap) {
validationAware.setFieldErrors(errorMap);
}
public Map> 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;
}
}在 struts2 中 实现 action 接口 和 继承 actionSupport 类各有什么好处呢?
action接口有:
public static final java.lang.String SUCCESS = "ess";
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;
而actionsupport这个工具类在实现了action接口的基础上还定义了一个validate()方法,重写该方法,它会在execute()方法之前执行,如校验失败,统能将视图转入input处,必须在配置该Action时配置input属性。
另外,actionsupport还提供了一个getText(String key)方法还实现国际化,该方法从资源文件上获取国际化信息.
这样在自定义标签时可以定义一个变量为new actionsupport对象实现国际化。
请问这是怎么回事,我的action继承了ActionSupport类,但是没有在jsp页面出现必须输的提示信息反而跳转到
应该是 struts.xml文件配置的有问题。
请在action节点中配置/必须输入这个信息。
并在jsp中使用struts错误标签显示出错误信息。
Hostodo 商家是比较小众的国外VPS主机商,这不看到商家有推送促销优惠在美国西岸的斯波坎机房还有少部分库存准备通过低价格促销,年付低至12美元Linux VPS主机,且如果是1GB内存方案的可以享受六六折优惠,均是采用KVM架构,且可以支付宝付款。第一、商家优惠码优惠码:spokanessd 1GB+内存方案才可以用到优惠码,其他都是固定的优惠低至年12美元。第二、商家促销这里,我们可以看到...
licloud官方消息:当前对香港机房的接近100台物理机(香港服务器)进行打折处理,30Mbps带宽,低至不到40美元/月,速度快,性价比高,跑绝大多数项目都是绰绰有余了。该款香港服务器自带启动、关闭、一键重装功能,正常工作日内30~60分钟交货(不包括非工作日)。 官方网站:https://licloud.io 特价香港物理服务器 CPU:e3-1230v2(4核心、8线程、3.3GH...
关于CYUN商家在之前有介绍过一次,CYUN是香港蓝米数据有限公司旗下的云计算服务品牌,和蓝米云、蓝米主机等同属该公司。商家主要是为个人开发者用户、中小型、大型企业用户提供一站式核心网络云端部署服务,促使用户云端部署化简为零,轻松快捷运用云计算。目前,CYUN主要运营美国、香港、台湾、日本、韩国CN2线路产品,包括云服务器、站群服务器和独立服务器等。这次看到CYUN夏季优惠活动发布了,依然是熟悉的...
actionsupport为你推荐
李智慧李智慧的《Goodbye to romance》的中文歌词数据统计分析表EXCEL怎么制作百分比数据分析表图什么是生态系统生态系统的基础是什么?单元测试规范单元测试用例该怎么写文本框透明word文本框的背景图片怎样调透明度微粒群算法粒子群算法优化下面的公式 要怎么做 能给个程序最好红牛下架红牛停产了吗?2019年还生产吗?网站推广软件破解版寻 营销软件 免费的 破解的 注册机 什么样的都可以只要功能全强大pmp格式PMP的格式电子词典软件手机词典下载
虚拟主机是什么 com域名价格 抗投诉vps主机 singlehop 息壤主机 isatap ixwebhosting 免费全能空间 165邮箱 有奖调查 泉州电信 中国电信测速网 gtt yundun lamp兄弟连 免费网络空间 97rb 网络速度 小夜博客 fatcow 更多