表面现象:
当一个Action中既没有重写ActionSupport中的validate方法,
也没有相关的validata.xml文件,
并且action中并没有INPUT的出口,
但是最终LOG里面却告诉我们这个Action返回INPUT了.
这到底是怎么一回事呢..
了解下代码:
webwork中,如果有添加workflow这个interceptor,
那么ActionA chain到 ActionB的时候,
如果ActionA中有调用 addActionError这个方法,
然后chain到ActionB,
这时候ActionB不会做任何事情,就直接返回INPUT了
原因是:
在workflow这个interceptor会对继承ValidationAware这个接口的Action
调用hasErrors()这个方法,如果这个方法返回true
,那么就直接返回INPUT,而不再往后面的action去执行了
workflow interceptor的官方说明http://www.opensymphony.com/webwork/wikidocs/Workflow%20Interceptor.html
也许有的同学就会问了,我就继承了ActionSupport方法啊,怎么会去验证hasErrors()这个方法呢?
虽然你没继承,但是是不是还有谁偷偷干了这事呢?
其实就在继承的ActionSupport这个父类里面继承了ValidationAware这个接口了.
分享到:
相关推荐
尽管随着时间的发展,新的框架如Spring MVC和Play Framework等逐渐崭露头角,但WebWork依然在许多现有项目中发挥着重要作用,特别是在那些重视代码质量和开发效率的企业中。对于希望深入理解MVC架构和Java Web开发的...
在Web开发中,上传文件是一项常见的功能。在本例中,我们关注的是使用WebWork框架在Java环境中实现文件上传。WebWork是一个轻量级的MVC(Model-View-Controller)框架,它提供了处理HTTP请求和响应的强大工具,包括...
WebWork是Java Web开发中的一个框架,它在早期与Struts有着密切的关系,后来成为了Struts2的基础。这个"WebWork入门教程[创建你第一个WebWork action]"将引导你了解如何利用WebWork来构建动态的Web应用程序。让我们...
webwork2.17中文使用手册
**Action类**:Action类是WebWork框架中的业务逻辑处理单元,它们负责执行具体的业务操作,并返回一个结果,指示视图如何显示数据。 #### 3. **拦截器**:拦截器在Action执行前后执行,可以用于实现诸如权限检查、...
WebWork是一个开源的Java Web应用框架,主要用于构建企业级的Web应用程序。这个“WebWork中文参考手册”显然是针对想要学习和使用WebWork框架的初学者准备的资源。手册可能包含了框架的基本概念、核心组件、配置、...
从给定的文件信息来看,标题“WebWork中文文档”和描述“WebWork完全自学!...通过上述步骤,你可以逐步建立起对WebWork框架的全面认识,从而能够在实际项目中有效地运用这一框架,提升Web应用程序的开发效率和质量。
WebWork是一个开源的Java Web应用程序框架,它提供了一种基于MVC(Model-View-Controller)模式的开发方式,使得开发者能够更有效地构建动态、交互式的Web应用。本中文帮助文档旨在为使用WebWork框架的开发者提供...
总的来说,WebWork2是一个强大的Web应用框架,它的设计思想和特性在后来的Struts2中得到了进一步的发扬光大。如果你已经熟悉了Struts,那么学习WebWork2将会是一个很好的提升,因为它可以帮助你更好地理解MVC模式,...
WebWork 是一个基于 Java 的开源 MVC(Model-View-Controller)框架,它在早期的 Web 应用开发中非常流行,尤其是在 Struts 1 之前。WebWork 提供了强大的动作(Action)处理、类型转换、拦截器(Interceptor)机制...
webwork2中文参考
WebWork 是一个基于Java的MVC(模型-视图-控制器)框架,它在Web应用程序开发中被广泛使用。这个“WebWork 中文API”显然是一份由专家翻译的文档,目的是帮助中国开发者更好地理解和使用WebWork框架。下面将详细阐述...
WebWork是一个基于Java的开源MVC(模型-视图-控制器)框架,它在早期的Web开发中被广泛使用,特别是在Struts1之后,作为替代方案出现。本篇将介绍WebWork的基础知识,特别是它的类型转换机制,这对于理解Web应用程序...
WebWork是一个基于Java的开源MVC(模型-视图-控制器)框架,它在Web应用程序开发中扮演着重要角色。这个“webWork中文教程”旨在帮助开发者深入理解WebWork框架的原理、特性和实践方法。下面,我们将详细介绍WebWork...
WebWork是一个基于Java的MVC(Model-View-Controller)框架,它在早期的Web开发中被广泛应用,尤其是在Struts1之后,为开发者提供了一种更灵活、更强大的替代方案。"webwork之HelloWorld篇"是入门WebWork框架的一个...
WebWork 是一个基于Java的开源MVC(Model-View-Controller)框架,它主要用于构建企业级的Web应用程序。WebWork1.4是该框架的一个较早版本,它为开发者提供了强大的功能,包括动作映射、数据绑定、异常处理、国际化...
webwork 2.2.6 中文版本,然后编译生成chm格式,方面查看。
2. Action:Action是WebWork2.0中的控制器组件,负责处理用户的请求,执行相应的业务逻辑,并返回结果到视图。 3. Interceptors(拦截器):拦截器是WebWork2.0的一个强大功能,允许在Action调用前后插入自定义逻辑...
WebWork是一款基于Java的轻量级MVC(Model-View-Controller)框架,它在早期Web应用开发中起到了重要的作用。WebWork的核心设计理念是提供灵活、可扩展的控制器层,帮助开发者将业务逻辑与表现层分离,从而实现更...
WebWork 2.0与Spring框架的集成是另一个重要的方面,Spring作为Java领域最流行的依赖注入框架之一,其与WebWork的结合能够进一步增强应用的模块化和灵活性。通过Spring的依赖注入功能,可以更方便地管理和配置...