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

Struts2 Annotation实现零配置

阅读更多
      1.在Web.xml配置文件中添加

<filter> 
<filter-name>struts2</filter-name> 
        <filter-class> 
                   org.apache.struts2.dispatcher.FilterDispatcher 
         </filter-class> 
    <init-param> 
        <param-name>actionPackages</param-name>  
        <param-value>com.learn.action</param-value>  
     </init-param> 
</filter>

        这样sturts2框架会自动扫描action包中的命名为*Action或者集成ActionSupport的类,例如一个类命名为SearchAction,那么Struts2框架会自动扫描它,认为它为一个Action类,并且将所有search.action的请求都转发给该类进行处理,这时我们又遇到了一个问题,如果这个Action是多Method的Action那么我们又该怎么办呢?因为不能像在XML中那样配置Method属性,这时我们可以在请求是加上!MethodName以请求特定的Method即可,例如想要请求SearchAction的search方法,我们可以直接这样请求:search!search.action.

       以上讲到的是Struts2框架如何找到没有在XML中定义的Action,并且怎么样将请求转发给适当的Action来进行处理.

       我们都知道在XML中可以定义Action处理完以后的跳转,同样利用Annotation也可以做到这一点:

        2.Resules的Annotation定义

        我们只需要在Action Class的类的前面加上@Result即可以定义Action的跳转

        例如:

@Results({ 
   @Result(name="input" value="/input.jsp" type=NullResult.class), 
   @Reuslt(name="success" value="/success.jsp" type=NullResult.class), 
   @Result(name="error" value="/error.jsp" type=NullResult.class) 
})

        上面是一个典型的多Result配置,name属性指定返回的字符串,value指定要跳转的页面,type指定Result的类型,type是一个很重要的属性,他有一下几种情况:

        1)NullResult  : 默认的可以省略

        2)ActionChainResult : 用于从一个Action跳转到另外一个Action

        例如:
@Result 
(name = "search",value= "search",type=ActionChainResult.class, 
params={"method","search"})
        这个配置是如果返回值为"search"就跳转掉SearchAction的search方法,如果不指定params就跳转到SearchAction的execute方法

        3)StreamResult:用于文件下载

        例如: 
@Result 
(name="success",value="inputStream",type=StreamResult.class, 
params={"bufferSize",FileConstant.DOWNLOAD_BUFFER_SIZE})


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/MyPlace/archive/2008/10/19/3101888.aspx
分享到:
评论

相关推荐

    struts2annotation json

    在Struts2中,注解的引入使得开发者可以实现零配置的编程,提高了开发效率和代码的可读性。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,广泛用于前后端数据传输。在Struts2中,通过集成JSON...

    s2sh基于annotation实现零配置的毕业设计(网上花店系统)

    【标题】"s2sh基于annotation实现零配置的毕业设计(网上花店系统)" 描述了一种使用注解(Annotation)技术在Spring、Struts2和Hibernate(简称S2SH)框架下构建的无XML配置的毕业设计项目。这个项目以一个网上花店...

    Struts2零配置

    **Struts2 Convention插件**是实现零配置的关键组件。它通过一套预设的规则来自动处理常见的配置任务,使得开发者无需在配置文件中显式指定每个Action的处理细节。具体而言: 1. **约定**:Convention插件提供了一...

    struts零配置HelloWorld-Annotation

    在“struts零配置HelloWorld-Annotation”这个项目中,我们将重点探讨如何利用注解来实现Struts2框架的配置,这对于初学者来说是一个很好的起点。 在传统的Struts2配置中,我们需要在`struts.xml`文件中手动定义每...

    毕业设计-s2sh基于annotation实现零配置文件的教务管理系统包含所有的jar包

    【标题】中的“s2sh基于annotation实现零配置文件的教务管理系统”指的是一个使用Struts2、Spring和Hibernate(通常简称为S2SH)框架的毕业设计项目,该系统利用注解(Annotation)技术实现了无需XML配置文件的管理...

    基于annotation s2sh实现零配置的CRM

    【基于Annotation的S2SH实现零配置CRM】 在IT行业中,CRM(Customer Relationship Management)系统是一种用于管理企业与客户之间关系的重要工具。S2SH,即Struts2、Spring和Hibernate的组合,是Java Web开发中常用...

    struts2 使用注解现在零配置不需要在使用struts.xml配置文件,可以直接跑

    在Struts2中,注解的引入使得开发者可以摆脱繁琐的`struts.xml`配置文件,实现“零配置”运行。 首先,让我们了解什么是注解(Annotation)。注解是Java提供的一种元数据机制,允许在源代码中嵌入信息,这些信息...

    基于annotation s2sh实现零配置的教务管理系统

    【标题】"基于annotation s2sh实现零配置的教务管理系统"揭示了这个项目的核心技术特点,即使用了Spring、Struts2和Hibernate这三大框架的集成(S2SH),并借助注解(Annotation)来实现系统的零配置。在传统的S2SH...

    struts2.1.6零配置DEMO

    Struts2支持资源文件来实现国际化,即使在零配置下,我们仍然可以使用`@Text`注解来获取资源文件中的文本。 7. **错误和异常处理**: 可以通过`@ExceptionHandler`和`@ActionError`注解来处理Action中的异常和...

    sshFrame(struts2.3.4+spring3.1+heibernate4.0+annotation零配置

    在这个"sshFrame(struts2.3.4+spring3.1+heibernate4.0+annotation零配置"项目中,我们看到作者使用的是Struts2的3.4版本,Spring的3.1版本以及Hibernate的4.0版本,这些都是成熟且广泛使用的开源库。 **Struts2** ...

    基于annotation s2sh实现零配置的教务管理系统改进版

    在本项目中,我们采用“基于annotation的S2SH(Struts2、Spring、Hibernate)实现零配置的教务管理系统改进版”,这表明了系统设计的核心在于利用Java框架的注解能力来减少传统XML配置文件的使用,从而提高开发效率...

    基于Maven,Struts2, Spring,Hibernate全注释的开发框架

    使用Maven3.0.5, Struts2, Spring, Hibernate3, annotation实现零配置的开发框架.里面有详细的开发指导文档, 后台用googlecode的 hibernate-generic-dao - Generic DAO 和 Search的代码,完全进行封装. 由于Generic ...

    struts annotation.ppt

    1. **简化配置**:使用注解可以极大地减少Struts2配置文件中的内容,官方甚至提出了“零配置”(Zero Configuration)的概念。 2. **简化开发**:通过注解,开发者可以直接在代码中指定Action、拦截器(Interceptor...

    Spring3.1+Hibernate4.0+Struts2.3.1 零配置功能已实现

    而"zero"可能是指与零配置相关的源代码文件或者项目目录,包含了实现零配置功能的具体代码和结构。 总的来说,这个项目展示了Java Web开发中一种现代化、简洁化的实践方式,通过注解减少了XML配置,提高了开发效率...

    1002_____struts_____零配置

    在Struts 2中,"零配置"通常通过注解(Annotation)实现。开发者可以在Action类的方法上使用注解来声明动作、结果页面和其他相关属性。例如,`@Action` 注解用于标记执行的动作,`@Result` 注解用于定义操作的结果...

    SSH2-Annotation.rar_annotation ssh2_ssh2_ssh2 annotation

    6. **零配置**:项目的核心理念是零配置,这意味着开发者可以专注于业务逻辑的实现,而无需花费大量时间在配置文件上。这极大地提升了开发者的生产力,同时使得项目更具可读性和可扩展性。 7. **测试与调试**:SSH2...

    Struts2.3.15 基于Annotation的小DEMO

    但是,通过注解,我们可以直接在Action类或方法上标注,实现零配置。例如,我们可以使用`@Action`注解来定义Action的名称和执行的方法,以及`@Result`注解来指定方法执行后跳转的页面。 ```java import ...

    ssh(struts2.3.8+spring3.2+heibernate4.1+annotation零配置

    实现了简单用户权限登录,项目中含有mysql数据库 加入了基本的拦截器,错误类处理等 加入了BaseDao,Spring3对Hibernate4已经没有了HibernateDaoSupport和HibernateTemplate的支持,使用了原生态的API

Global site tag (gtag.js) - Google Analytics