`
javafever
  • 浏览: 30739 次
  • 性别: Icon_minigender_1
  • 来自: Sichuan Chengdu
社区版块
存档分类
最新评论
  • boyingking: 简单来说,mule有两个主要功能: 1:作为一系列协议或者技术 ...
    Mule入门
  • welcomyou: 关于中文乱码的问题,到现在我也没有找到好的办法,有一个Enco ...
    Mule入门
  • Angel.John: ype Exception report message ...
    Mule入门
  • changyanping: 我也是输入中文出现乱码,楼上的那位兄弟解决了这个问题了么?
    Mule入门
  • changyanping: 兄弟可不可以给个录个视频呀?我老是搞不对!郁闷,要是能得到您的 ...
    Mule入门

WebWork2.2笔记(二)ActionSupport及其他基础知识

阅读更多
绝大多数情况下,WebWork不是直接实现com.opensymphony.xwork.Action接口,而是扩展com.opensymphony.xwork.ActionSupport类。ActionSupport实现了除Action以外的其他几个接口,主要的几个接口是:
com.opensymphony.xwork.Validateable
com.opensymphony.xwork.Validateaware
com.opensymphony.xwork.TextProvider
com.opensymphony.xwork.LocaleProvider
这些接口主要是提供给WebWork的拦截器使用的,接口配合拦截器可以实现AOP功能。比如Validateable接口和Validateaware接口配合DefailtWorkflowInterceptor就可以实现对用户输入进行检验的功能,当用户调用Action时,首先执行Validateable接口定义的validate()方法,如果在这个方法中用户使用接口Validateaware中的方法设置了错误信息,则DefaultWorkflowInterceptor会自动终止Action的执行,并产生一个INPUT的result,只有没有任何错误信息才会执行Action的剩余部分。

前面我们定义的xwork.xml配置文件中包含了一句:<include file="webwork-default.xml">,这个webwork-default.xml包含在webwork的jar包中。webwork-default.xml预建了很多常用的result-type、interceptor和interceptor-stack。其中interceptor和interceptor-stack用于定义webwork将要使用那些拦截器。interceptor定义一个拦截器,而interceptor定义一组拦截器。如果一个Action使用一组拦截器,则这些拦截器将以其定义的顺序执行,可见,interceptor-stack中拦截器的顺序时很重要的。

在webwork-default.xml中有如下定义:
<interceptor class="com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor" name="workflow">
......
而名为validationWorkflowStack和completeStack这两个预建的interceptor-stack则包含了workflow这个interceptor。

下面做一个检查用户输入的练习,如果用户没有输入内容,则让用户重新输入,并且提示错误信息。

web.xml
与上次的相同。

xwork.xml
</interceptor></include>
xml 代码
 
  1.     "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">  
  2.   
  3. <xwork>  
  4.     <include file="webwork-default.xml" />  
  5.   
  6.     <package name="default" extends="webwork-default">  
  7.   
  8.         <default-interceptor-ref name="validationWorkflowStack"/>  
  9.         <action name="alidateInput" class="example.ValidateInputAction">  
  10.             <result name="success">success.jsp<!---->result>  
  11.             <result name="input">input.jsp<!---->result>  
  12.         <!---->action>  
  13.   
  14.     <!---->package>  
  15. <!---->xwork>  

input.jsp
xml 代码
 
  1. <%@taglib prefix="ww" uri="/webwork"%>  
  2. <html>  
  3. <head><title>Input Something<!---->title><!---->head>  
  4. <body>  
  5.   
  6. <ww:form action="alidateInput.action">  
  7.     <ww:textfield label="Input something:" name="something"><!---->ww:textfield>  
  8.     <ww:submit><!---->ww:submit>  
  9. <!---->ww:form>  
  10.   
  11. <!---->body>  
  12. <!---->html>  

success.jsp
xml 代码
 
  1. <%@taglib prefix="ww" uri="/webwork"%>  
  2. <html>  
  3. <head><title>Success!<!---->title><!---->head>  
  4. <body>  
  5. <ww:property value="something"/>  
  6. <!---->body>  
  7. <!---->html>  
分享到:
评论
1 楼 justcode 2007-02-24  
但是我一般不继承,我只针对接口编程!

相关推荐

    WebWork 2.2新特性的PPT.rar

    WebWork 2.2版本在原有的基础上引入了若干新特性,提升了开发效率和用户体验。在这个PPT压缩包中,包含了一个Word文档和一个PowerPoint演示文稿,它们详细介绍了这些新特性。 首先,WebWork 2.2在动作映射(Action ...

    webWork2.2+spring +SpringMVC组合 例子

    【标题】:“webWork2.2+spring+SpringMVC组合例子”是一个示例项目,展示了如何将三个经典的Java Web框架——WebWork2.2、Spring以及Spring MVC整合在一起,以构建一个完整的Web应用程序。这样的组合可以充分利用各...

    WebWork2.2入门

    **WebWork2.2入门详解** WebWork是一个基于Java的MVC(模型-视图-控制器)框架,它为开发企业级Web应用提供了强大的支持。WebWork2.2是其一个较早但仍然广泛使用的版本,它引入了许多创新特性,如动作映射、拦截器...

    webwork2.2例子带有lib包

    WebWork2.2是一个基于Java的轻量级MVC(模型-视图-控制器)框架,主要用于构建Web应用程序。这个框架在2000年代初期非常流行,它提供了丰富的功能和灵活性,帮助开发者构建高性能、可维护的Web应用。本压缩包包含了...

    webwork2.2

    webwork2.2.jar 类包 web work2

    webwork-2.2.2

    webwork的包。webwork开发者不可缺少的

    webwork-2.1.7 xwork.jar

    webwork 2.1.7 版 原版留存 xwork.jar

    webwork学习笔记(全)

    以上只是WebWork教程的部分内容,完整的学习笔记涵盖了更多高级主题,如Interceptor(拦截器)、Validation(验证)、I18N(国际化)、AOP支持以及与其他开源项目的集成,如G-Roller-WW和Spring等。通过深入学习和...

    WebWork2学习笔记

    在实际项目中,WebWork2通常与其他开源框架如Hibernate(持久层)、Spring(依赖注入和事务管理)等配合使用,构建完整的Java Web应用解决方案。 在“study note.txt”这个文件中,可能详细记录了如何配置WebWork2...

    webwork学习笔记

    ### WebWork学习笔记知识点 #### 一、WebWork框架简介 - **定义**: WebWork是一个由OpenSymphony组织开发的MVC(Model-View-Controller)框架,专注于组件化和代码重用,适用于J2EE应用程序开发。 - **最新版本**:...

    webwork-1.4-src.zip_webwork_webwork s_webwork.zip_webwork1.4.zip

    6. **视图渲染**:WebWork使用JSP、FreeMarker或其他模板引擎作为视图技术,通过ActionSupport类和结果类型来决定如何渲染视图,使得视图层与控制层解耦。 7. **标签库**:WebWork提供了一套自定义的JSP标签,如`...

    webwork入门到精通

    《WebWork入门到精通》这一课程由松迪科技(北京)有限公司的田雪松主讲,旨在全面解析WebWork框架,从基础知识到高级应用,帮助学员掌握WebWork的核心技术和实战技巧。 ### WebWork概述 WebWork是一个开源的MVC...

    webwork2开发指南

    本指南将深入探讨WebWork2的基础知识、快速入门方法以及高级特性,以帮助开发者更好地理解和应用这一框架。 一、WebWork2基础知识 1. MVC模式:WebWork2遵循MVC设计模式,其中模型(Model)负责处理业务逻辑,视图...

    webwork 上传文件与下载文件 使用笔记

    #### 二、文件上传基础知识 文件上传是Web应用程序中的常见需求之一。在WebWork中,文件上传主要通过`FileUploadInterceptor`来实现。该拦截器处理HTTP请求中的文件上传数据,并将其封装成`java.io.File`对象或其他...

    webwork2中文教程

    WebWork2还提供了ActionSupport类,这是大多数Action类的基础,包含了一些常用的方法,如国际化支持、模型驱动等。模型驱动允许你将Action中的属性直接绑定到视图,简化了视图层的渲染工作。 在本教程中,你将学习...

    webwork简单实例及说明

    在解压后的目录中,你会发现`webwork-2.x.jar`(WebWork的核心库)、`webwork-example.war`(示例应用)、`webwork-migration.jar`(用于从1.x版本迁移到2.x版本)以及其他文档和库文件。WebWork需要在Web容器(例如...

    webwork资源

    例如,WebWork提供了ActionSupport类,作为Action的基类,提供了错误消息处理、国际化支持等功能。ActionContext是另一个重要的组件,它在每次Action调用时创建,用于获取和设置与请求相关的各种上下文信息,如...

    webwork2个人学习总结

    Webwork2是一个基于Java的MVC(模型-视图-控制器)框架...学习Webwork2可以帮助开发者更好地理解和掌握MVC架构,以及拦截器、配置文件等核心概念,这些知识对于使用其他Java Web框架如Spring MVC或Struts2也是有益的。

Global site tag (gtag.js) - Google Analytics