`
blues1021
  • 浏览: 135517 次
  • 性别: 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注解配置全面解析

    很多人在学习struts2注解的时候,都被它莫名其妙的错误搞的郁闷,而网上关于这方面的东西大多都是基于struts2.0版本的,对我们现在用的2.1以上的版本不起什么作用,所以特整理出一份文档,里面详细说明了怎样用注解...

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

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

    struts2+spring+hibernate整合示例

    b 在struts.xml中添加action,使用通配符的方式 , 注意这里和单独struts2不同的地方: class属性指向的是bean 的 id ,这里我们配置bean采用spring ioc注解的方式, 所以默认的bean的id 为 类名(首字母小写) ...

    android访问struts2+spring+hibernate应用

    此压缩包含有两个工程,一个工程是struts2+spring2.5+hibernate3.3整合的服务器端技术(全注解)(云端),另一个工程是android的手机应用,包含对ssh整合的云端数据的访问,能够在android输入信息,将数据传递给...

    web项目常用jar包及说明.zip

    2.commons-logging-1.1.1.jar(ASF出品的日志包,struts2 2、spring、hibernate框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录) 3.common-annotations.jar(支持注解的包) 4.aspectjrt.jar(支持AOP的包) 5....

    springmvc第一天课堂笔记

    springmvc框架原理(掌握) 前端控制器、处理器映射器、处理器适配器、视图解析器 springmvc入门程序 目的:对前端控制器、处理器映射器、处理器适配器、视图解析器学习 ...springmvc和struts2的区别

    springmvc基础.docx

    springmvc基础 包含代码+知识点+详细解释 1. 什么是springmvc? 2. springmvc框架原理 前端控制器、处理器映射器、处理器适配器、视图解析器 3. springmvc入门程序 目的:对前端控制器、...6. springmvc和struts2区别

    springmvc入门程序(下载后你不会后悔的)

    springmvc框架原理(掌握) 前端控制器、处理器映射器、处理器适配器、视图解析器 springmvc入门程序 目的:对前端控制器、处理器映射器、处理器适配器、视图解析器学习 ...springmvc和struts2区别

    Spring in Action(第二版 中文高清版).part2

    16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用Spring和JSF 16.4.1 解析JSF管理的属性 16.4.2 解析Spring...

    SSH 项目 整合jar包

    2.commons-logging-1.1.1.jar(ASF出品的日志包,struts2 2、spring、hibernate框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录) 3.common-annotations.jar(支持注解的包) 4.aspectjrt.jar(支持AOP的包) 5....

    SSH 框架所需JAR包

    2.commons-logging-1.1.1.jar(ASF出品的日志包,struts2 2、spring、hibernate框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录) 3.common-annotations.jar(支持注解的包) 4.aspectjrt.jar(支持AOP的包) 5....

    Spring in Action(第2版)中文版

    16.2协同使用spring和webwork2/struts2 16.3集成spring和tapestry 16.3.1集成spring和tapestry3 16.3.2集成spring和tapestry4 16.4协同使用spring和jsf 16.4.1解析jsf管理的属性 16.4.2解析springbean 16.4.3...

    Spring in Action(第二版 中文高清版).part1

    16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用Spring和JSF 16.4.1 解析JSF管理的属性 16.4.2 解析Spring...

    spring-mvc代码示例+注释+文件解析(可直接运行)

    另外一个是spring-mvc特有的配置文件,处理跳转的代理类得(相当于struts功能,这里使用的是注解,当然还要加载扫描注解标示符的类),代码中为“spring-servlet.xml。下”。具体如何配置参见注释。, 3、关于具体...

    SpringMVC学习笔记整合搭建框架

    2、@RequestMapping注解的使用 3、Controller方法返回值 4、SpringMVC中异常处理 5、图片上传处理 6、Json数据交互 7、SpringMVC实现RESTful 8、拦截器 2.Spring入门 2.1.Springmvc是什么 3.3.jdbc编程步骤: 1、...

    Spring中文帮助文档

    15.4. Struts 15.4.1. ContextLoaderPlugin 15.4.2. ActionSupport Classes 15.5. Tapestry 15.5.1. 注入 Spring 托管的 beans 15.6. WebWork 15.7. 更多资源 16. Portlet MVC框架 16.1. 介绍 16.1.1. 控制...

    Spring API

    15.4. Struts 15.4.1. ContextLoaderPlugin 15.4.2. ActionSupport Classes 15.5. Tapestry 15.5.1. 注入 Spring 托管的 beans 15.6. WebWork 15.7. 更多资源 16. Portlet MVC框架 16.1. 介绍 16.1.1. 控制...

    21道Java Spring MVC综合面试题详解含答案(值得珍藏)

    强化注解的使用,在控制器、Service、Dao都可以使用注解,方便灵活。 Spring MVC的工作流程如下: 用户通过视图层发送请求到服务器。 在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理...

    javaeye热点阅读

    1.18 Struts2教程2:处理一个form多个submit 2. Ruby 2.1 Ruby on Rails环境下工作流的实现 2.2 让Ruby On Rails走进企业开发 2.3 让Ruby On Rails走进嵌入式开发2.4 用Ruby脚本抓取百度MP3新歌Top 100发布到闲聊3. ...

    spring chm文档

    15.4. Struts 15.4.1. ContextLoaderPlugin 15.4.2. ActionSupport 类 15.5. Tapestry 15.5.1. 注入 Spring 托管的 beans 15.6. WebWork 15.7. 更多资源 16. Portlet MVC框架 16.1. 介绍 16.1.1. 控制器 - ...

Global site tag (gtag.js) - Google Analytics