`
javachikuang
  • 浏览: 72147 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

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配置文件中包含了一句:,这个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中有如下定义:

......
而名为validationWorkflowStack和completeStack这两个预建的interceptor-stack则包含了workflow这个interceptor。

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

web.xml
与上次的相同。

xwork.xml

xml 代码


  
 "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">   
   
<xwork>   
    <include file="webwork-default.xml" />   
   
    <package name="default" extends="webwork-default">   
   
        <default-interceptor-ref name="validationWorkflowStack"/>   
        <action name="alidateInput" class="example.ValidateInputAction">   
            <result name="success">success.jspresult>   
            <result name="input">input.jspresult>   
        action>   
   
    package>   
xwork>   

input.jsp

xml 代码

<%@taglib prefix="ww" uri="/webwork"%>   
<html>   
<head><title>Input Somethingtitle>head>   
<body>   
   
<ww:form action="alidateInput.action">   
    <ww:textfield label="Input something:" name="something">ww:textfield>   
    <ww:submit>ww:submit>   
ww:form>   
   
body>   
html>   
success.jsp

xml 代码

<%@taglib prefix="ww" uri="/webwork"%>   
<html>   
<head><title>Success!title>head>   
<body>   
<ww:property value="something"/>   
body>   
html>   

分享到:
评论

相关推荐

    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