`
blues1021
  • 浏览: 141299 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

【转】Struts2注解使用解析

    博客分类:
  • SSH
 
阅读更多

如果希望使用 struts2 的注解功能,必须使用一个包 struts2-convention-plugin-2.1.8.1.jar ,我使用的环境是 struts2.1.8.1 。如果你使用了不同的版本,找名字就行。

在以上所述的 jar 文件中定义了一系列的注解,其中比较主要的是:

  • @ParentPackage ,这个注解对应了 xml 文件中的 package 节点,它只有一个属性叫 value ,其实就是 package name 属性;
  • @Namespace ,命名空间,也就是 xml 文件中 <package> namespace 属性;
  • @Action ,这个注解对应 <action> 节点。这个注解可以应用于 action 类上,也可以应用于方法上。这个注解中有几个属性:
    • value() ,表示 action URL ,也就是 <action> 节点中的 name 属性;
    • results() ,表示 action 的多个 result ;这个属性是一个数组属性,因此可以定义多个 Result
    • interceptorRefs() ,表示 action 的多个拦截器。这个属性也是一个数组属性,因此可以定义多个拦截器;
    • params() ,这是一个 String 类型的数组,它按照 name/value 的形式组织,是传给 action 的参数;
    • exceptionMappings() ,这是异常属性,它是一个 ExceptionMapping 的数组属性,表示 action 的异常,在使用时必须引用相应的拦截器;
  • @Result ,这个注解对应了 <result> 节点。这个注解只能应用于 action 类上。这个注解中也有几个属性:
    • name() ,表示 action 方法的返回值,也就是 <result> 节点的 name 属性,默认情况下是【 success 】;
    • location() ,表示 view 层文件的位置,可以是相对路径,也可以是绝对路径;
    • type() ,是 action 的类型,比如 redirect
    • params() ,是一个 String 数组。也是以 name/value 形式传送给 result 的参数;

实际上, struts2 中的主要注解就是这些,当然了,还有上面提到的 @interceptorRef @exceptionMapping ;基本上,掌握了这些注解就可以了。

但是如果想让这些注解真正工作,必须在配置文件增加几个常量的定义:

  • struts.convention.default.parent.package :这个常量表示缺省的包名是什么,因为在实际应用中,我们常常定义一个缺省的包,这个包中定义了一大堆的拦截器等等,然后其他的包继承自这个包。这个常量可以配也可以不配;
  • struts.convention.package.locators :这个常量表示你的 action 类的 java 包的包名的后缀是啥:比如 action 。这个常量也可以不配;
  • struts.convention.package.locators.basePackage :这个常量表示你的 action 类的 java package 的名字是啥;这个常量也可以不配;
以上三个常量都是辅助作用的,为了让注解真正的工作,必须在配置文件中增加 <package> 节点的配置,至少是 <package name="myPackage" extends="struts-default" /> ,这样注解就可以使用了。

分享到:
评论

相关推荐

    Struts2注解开发jar

    这样,Struts2就会开始使用约定来解析和处理类及方法上的注解,使得开发者可以更专注于业务逻辑,而非繁琐的配置。 总结来说,Struts2注解开发通过`struts2-convention-plugin`插件实现了更加简洁、灵活的Java web...

    struts2注解配置全面解析

    ### Struts2注解配置全面解析 #### 一、引言 随着Struts2框架的不断更新和发展,很多开发者在尝试使用注解方式进行配置时往往会遇到不少难题。尤其是在使用Struts2.1及以上版本时,由于大部分教程和资料仍然基于...

    Struts2注解使用说明

    ### Struts2注解使用详解 #### 一、引言 在Java Web开发领域,Struts2框架以其灵活的架构和强大的功能深受开发者喜爱。传统上,Struts2的配置依赖于XML文件,如`struts.xml`,这在大型项目中可能会导致配置文件...

    Struts2全注解方式实现文件上传与下载

    在Struts2中,我们可以使用`@Params`注解来指定接收上传文件的参数,通常这个参数是`java.io.File`类型或者`org.apache.struts2.dispatcher.multipart.FileItem`。同时,需要设置一个对应的属性来存储文件的临时路径...

    spring和Struts2注解文档

    以下是对Spring和Struts2注解的深入解析和使用指南。 ### Spring注解详解 #### 1.1 Spring注解说明 Spring框架通过引入注解,极大地简化了Java开发中的配置工作,使得开发者能够更加专注于业务逻辑的编写。Spring...

    maven-web项目 Struts2 Struts注解 Struts2返回json

    在实际的"Maven-web项目 Struts2 Struts注解"中,`Strut2-Demo`可能包含了以下内容: 1. `pom.xml`:Maven的配置文件,包含了项目依赖和构建信息。 2. `struts.xml`:Struts2的配置文件,可能包含了部分非注解的配置...

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

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

    Struts2 拦截器注解(二十七)

    在使用注解时,我们还需要确保在`struts.xml`或`struts-plugin.xml`文件中启用注解解析。例如: ```xml &lt;constant name="struts.enable annotations" value="true"/&gt; ``` 此外,Struts2还提供了`@InterceptorRef`...

    Struts2使用Annotation返回Json

    在Struts2中,使用注解(Annotation)可以简化配置,提高开发效率。本篇文章将深入探讨如何在Struts2中通过注解实现返回JSON数据的功能。 首先,让我们理解JSON(JavaScript Object Notation)是一种轻量级的数据...

    ssm框架学习之(一) --struts2 注解

    此外,结合源码阅读,我们可以深入了解Struts2框架的工作原理,例如,如何解析注解、如何映射请求到相应的Action方法、以及如何执行拦截器链。这对于我们优化性能、解决框架问题或扩展框架功能都有很大帮助。 工具...

    Struts2+技术内幕——深入解析Struts2架构设计与实现原理

    总之,《Struts2技术内幕——深入解析Struts2架构设计与实现原理》配合《struts2基础.chm》,将帮助读者全面掌握Struts2的架构设计、核心组件、配置方式、插件使用以及源码解读,对于想要在Java Web领域深入发展的...

    Struts2 技术内幕-深入解析Struts2架构设计与实现原理

    3. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为默认的表达式语言,用于在Action对象和JSP页面之间传递数据。OGNL提供了一种简洁的方式来访问和操作Java对象的属性,增强了视图和模型之间的...

    struts2.0注解详解

    在Struts2中,框架通过反射机制来查找和解析带有特定注解的类和方法。 2. **注解处理**:当Struts2启动时,它会扫描应用中所有相关的Java类,寻找带有特定注解的类或方法,并根据这些注解的内容进行相应的处理。例如...

    json struts2转换

    2. **Action类中的JSON注解**:为了将Action方法的返回值转换为JSON,可以使用`@Result`注解来指定`type="json"`,或者在类级别使用`@Results`注解。例如: ```java @Results({@Result(name="success", type="json")...

    jQuery+json异步实现JSP和struts2之间的数据传递

    这个例子展示了如何通过jQuery向Struts2 Action发送异步请求,Action返回JSON数据,然后在前端解析并使用这些数据。在实际应用中,这样的数据交互方式可以实现动态加载、表单验证、页面更新等多种功能,提高用户体验...

    spring注解方式解析

    本文将深入解析Spring中的注解式编程,主要包括IOC(Inversion of Control,控制反转)的自动装配和依赖注入的解析。 首先,我们来看一下IOC自动装配。IOC是Spring的核心特性,它将对象的创建和管理从应用代码中...

    Struts2 技术内幕——深入解析Struts2架构设计.pdf.zip

    Struts2的配置方式灵活多样,可以通过XML、注解或者Java配置。这使得开发者可以根据项目需求选择最适合的配置方式。此外,Struts2支持动态方法调用,这意味着Action方法的调用可以通过Action名和方法名组合来实现,...

    struts2讲义,解析

    6. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为默认表达式语言,用于在视图和模型之间传递数据。OGNL允许灵活的数据访问和操作。 7. **插件架构**:Struts2有一个强大的插件架构,可以轻松...

    Struts2+Jquery+Ajax

    2. 如何配置Struts2框架,包括struts.xml配置文件的解析 3. 创建Action类,定义业务逻辑 4. Struts2的拦截器机制,以及如何自定义拦截器 5. 结果类型(Result)配置,如dispatcher、stream等 6. Struts2与Ajax的集成...

    使用Struts 2框架开发租房网站

    在开发租房网站的过程中,学生将学习如何创建Action类、配置struts.xml、设计数据库模型、编写DAO和Service层代码、实现页面交互以及使用Struts 2提供的各种功能来优化用户体验。这将帮助他们掌握Web应用开发的基本...

Global site tag (gtag.js) - Google Analytics