`

转载:Struts2的注解功能

 
阅读更多

转载自:http://www.cnblogs.com/wayne_wang/archive/2011/01/24/1942927.html

我们知道通常情况下,Struts2是通过struts.xml配置的。但是随着系统规模的加大我们需要配置的文件会比较大,虽然我们可以根据不同的系统功能将不同模块的配置文件单独书写,然后通过<include>节点将不同的配置文件引入到最终的struts.xml文件中,但是毕竟还是要维护和管理这些文件,因此也会给维护工作带来很大的困扰。为了解决这个问题,可以考虑使用struts2的注解。实际上struts2中最主要的概念就是packageaction以及Interceptor等等概念,所以只要明白这些注解就可以了。

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

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

  • @ParentPackage,这个注解对应了xml文件中的package节点,它只有一个属性叫value,其实就是packagename属性;
  • @Namespace,命名空间,也就是xml文件中<package>namespace属性;
  • @Action,这个注解对应<action>节点。这个注解可以应用于action类上,也可以应用于方法上。这个注解中有几个属性:
    • value(),表示actionURL,也就是<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类的javapackage的名字是啥;这个常量也可以不配;

以上三个常量都是辅助作用的,为了让注解真正的工作,必须在配置文件中增加<package>节点的配置,至少是<package name="myPackage" extends="struts-default" />,这样注解就可以使用了。

分享到:
评论

相关推荐

    struts2注解登陆

    Struts2框架支持JSR-250和JSR-303等标准注解,同时也提供了一些自定义注解来增强功能。例如,`@Action`注解用于标记一个方法为Struts2的动作,这个方法将在用户请求时被调用。`@Results`注解用于定义多个可能的结果...

    struts2注解必须包

    "struts2注解必须包"指的是Struts2提供的一系列注解,它们对于简化Struts2应用的配置和增强其功能至关重要。 标题中的"struts2-convention-plugin-2.1.8.1.jar"是Struts2的约定插件(Convention Plugin)的一个特定...

    Struts2 注解 Demo

    本教程将通过一个"Struts2注解Demo"来深入探讨Struts2中的注解用法,帮助开发者更高效地配置和管理Action类。 首先,Struts2的注解允许我们避免传统的XML配置,从而实现更加简洁、直观的编程方式。在`Struts2Demo`...

    Maven实现struts2注解

    在这个主题中,我们将探讨如何利用Maven构建工具与Struts2的注解功能相结合,以实现更高效、更模块化的项目开发。 首先,让我们了解Maven。Maven是一个项目管理工具,它通过管理项目的构建、报告和文档,帮助开发者...

    Struts2注解开发jar

    标题提到的"Struts2注解开发jar"主要指的是`struts2-convention-plugin`,这是一个Struts2的插件,它的主要作用是支持基于约定优于配置(Convention over Configuration)的开发模式。描述中提到的`struts2-...

    struts2注解与拦截器demo

    该例子为struts2注解与拦截器demo,利用myEclipse8.5开发,导入刚才后,自动加载所需struts2的jar包,可以直接运行,是初学struts2注解、拦截器很好的例子,保证10分钟学会2种技术,愿意分享给大家。

    struts2注解详解

    ### Struts2 注解详解 #### 一、Struts2 Convention 插件介绍与使用 在 Struts2 框架的发展过程中,随着版本的更新和技术的演进,其配置方式也发生了变化。从 Struts2.1 版本开始,官方不再推荐使用 Codebehind ...

    Struts2注解详细说明文档

    ### Struts2注解详细说明 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种构建企业级Java Web应用的解决方案。自Struts2.1版本开始,引入了一个重要的插件——Convention Plugin,该...

    Struts 2使用注解配置Action

    然而,随着Java注解的广泛应用,Struts 2也引入了注解配置的方式来简化开发过程,避免了XML配置的繁琐。 在"Struts 2使用注解配置Action"中,我们不再需要在struts.xml中为每个Action类手动添加配置。相反,我们...

    struts2的复习

    13. 表单验证:Struts2提供了强大的表单验证功能,可以通过注解或XML配置文件定义验证规则,对用户输入进行校验。 十一、插件支持 14. 插件生态:Struts2拥有丰富的插件库,如Freemarker模板引擎插件、Tiles布局...

    Struts2+spring注解配置

    将 Struts2 与 Spring 结合,通常会使用 Spring MVC 框架,通过 `@Controller` 注解标记 Action 类,并利用 Spring 自动装配功能来管理依赖。Spring MVC 还提供了其他注解,如 `@RequestMapping`, `@GetMapping`, `@...

    struts2注解小实例

    在这个小实例中,我们将深入探讨如何利用Struts2的注解来构建一个简洁而高效的Web应用。 首先,让我们了解什么是注解。在Java中,注解是一种元数据,它提供了一种安全的方法来向编译器、JVM或框架提供信息。Struts2...

    struts八步教程:struts让我试着了解你

    7. **表单验证**:Struts2提供了强大的表单验证功能,可以在Action类中进行验证,也可以通过XML或者注解方式定义验证规则。 8. **结果类型与视图解析**:学习不同的结果类型,如dispatcher(转发到JSP页面)、...

    Struts2.3.4.1 注解实例(二十)

    这个版本在Struts2的早期版本上进行了改进,添加了新的功能和修复了一些已知问题。在这个注解实例中,我们将深入探讨如何利用Struts2的注解来实现更简洁、高效的应用开发。 首先,让我们了解Struts2中的注解。注解...

    maven整合struts2全注解

    2. Struts2:是基于MVC设计模式的Java Web框架,它提供了一种处理HTTP请求并将其映射到特定Action的方法。Struts2支持多种方式来配置,包括XML配置和注解配置。 3. 全注解:全注解配置意味着我们不再需要编写大量的...

    struts2注解配置全面解析

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

    尚硅谷_佟刚_Struts2

    7. **插件系统**:Struts2拥有丰富的插件库,如Freemarker、Tiles、JSON等,可以方便地集成到项目中,扩展其功能。 8. **Struts2与Spring集成**:通过Struts2的Spring插件,可以实现Action类的依赖注入,便于管理...

    struts2利用注解annotation实现文件下载

    本文将详细介绍如何使用Struts2框架结合注解(Annotation)的方式实现文件下载功能。 #### 一、Struts2框架简介 Struts2是一个基于MVC架构的Java Web应用框架,它继承了Struts1的优点,并在此基础上进行了改进。...

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

    在本资源中,我们将探讨如何利用Struts2的注解方式来实现文件的上传和下载功能,这对于任何Web应用来说都是至关重要的特性。 首先,我们来看“注解”在Struts2中的作用。Struts2允许开发者使用注解来配置Action类,...

    Java Web整合开发完全自学手册:Struts+Hibernate+Spring+Eclipse源码

    以国内使用最广泛的Struts为例,其新版本Struts2与前一版Struts1.x已经有了天壤之别。Hibernate也从2.0升级为3.X,近期Spring也最新推出了2.5版。读者如果再参考以前的版本书籍学习,无异于南辕北辙,而《JavaWeb...

Global site tag (gtag.js) - Google Analytics