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错误标签显示出错误信息。

PIGYun月付14.4元起,美国洛杉矶/韩国VPS七月6折

PIGYun是成立于2019年的国人商家,提供香港、韩国和美西CUVIP-9929等机房线路基于KVM架构的VPS主机,本月商家针对韩国首尔、美国洛杉矶CUVIP-AS29、GIA回程带防御等多条线路VPS提供6-8.5折优惠码,优惠后韩国首尔CN2混合BGP特惠型/美国洛杉矶GIA回程带10Gbps攻击防御VPS主机最低每月14.4元起。下面列出几款不同机房VPS主机配置信息,请留意不同优惠码。...

香港E3 16G 390元/ 香港E5*2 32G 600元/ 香港站群 4-8C 1200元/ 美国200G高防 900/ 日本100M 700元

3C云国内IDC/ISP资质齐全商家,与香港公司联合运营, 已超6年运营 。本次为大家带来的是双12特惠活动,香港美国日本韩国|高速精品|高防|站群|大带宽等产品齐全,欢迎咨询问价。3C云科技有限公司官方网站:http://www.3cccy.com/客服QQ:937695003网页客服:点击咨询客户QQ交流群:1042709810价目表总览升级内存 60元 8G内存升级硬盘 1T机械 90元 2...

LOCVPS:VPS主机全场8折,德国/荷兰/美国KVM终身7折

LOCVPS发来了针对元旦新年的促销活动,除了全场VPS主机8折优惠外,针对德国/荷兰KVM #1/美国KVM#2 VPS提供终身7折优惠码(限量50名,先到先得)。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐优先选择KVM),均选择直连或者优化线路,国内延迟低,适合建站或远程办公使...

actionsupport为你推荐
cpu监控CPU检测软件有哪些 5款CPU检测工具介绍 (orphanremovalhibernate一对多,操作一的一方,如何删除多的一方的数据。awvAWV的转换器 要免费的 看好是AWV不是AMV12种颜色十二种颜色的英文怎么读?12种颜色12种颜色都是代表什么印度尼西亚国家代码手机上的国家代码是什么asp大马黑帽seo的webshell中,什么是大马和小马谷歌图片识别如何打开PICASA头像识别功能?单元测试规范单元场景测试是如何进行的?activitygroupactivityGroup子activity跳转的问题
vps交流 免费cn域名 zpanel godaddy域名优惠码 windows2003iso 国外在线代理 cpanel空间 北京双线 泉州移动 umax120 中国电信宽带测速器 raid10 韩国代理ip 国外在线代理服务器 lamp的音标 免费个人网页 汤博乐 此网页包含的内容将不使用安全的https 阿里云宕机故障 vim 更多