Struts2的注解功能
我们知道通常情况下,Struts2是通过struts.xml配置的。但是随着系统规模的加大我们需要配置的文件会比较大,虽然我们可以根据不同的系统功能将不同模块的配置文件单独书写,然后通过<include>节点将不同的配置文件引入到最终的struts.xml文件中,但是毕竟还是要维护和管理这些文件,因此也会给维护工作带来很大的困扰。为了解决这个问题,可以考虑使用struts2的注解。实际上struts2中最主要的概念就是package、action以及Interceptor等等概念,所以只要明白这些注解就可以了。
如果希望使用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" />,这样注解就可以使用了。
分享到:
相关推荐
注解实现的页面跳转其特点是不用配置文件struts.xml因而可以实现零配置,同时由于有注解的功能,所以说大大增加了程序的可维护性。
描述ssh框架的部分注解,包括hibernate实体类、spring data jpa 等重用注解的含义介绍,比较适用想学习基于注解的ssh框架的初学者。
Struts2 Spring3 Hibernate 注解功能 DAO 泛型 通用分页
Struts2+spring3.0+JPA(注解方式集成) 步骤详细 推荐下载
Hibernate4注解+Struts2的例子,里面详细介绍了怎么正确搭建Hibernate4,怎么使用注解生成实体类,怎么使用Hibernate4的二级缓存Ehcache,完整的增删查改功能,附带扁平化列表的效果图和里面关键配置的学习文档,让...
本资源是一个S2SH架构整合的一个完整例子,包含:struts2的完整配置及实例,使用c3p0连接池,Spring的事务管理、类路径扫描管理功能、注解功能。例子本人已测试通过,所有配置和代码都有完整的注释,适合初学者或者...
这个是struts的上传下载的功能,但是要运用到注解。当初做了很久才出来的结果,记录一下,可能用得上。仅供参考。
NULL 博文链接:https://wangxuehui.iteye.com/blog/1636828
我们这里采用的是ajax+struts2来做的这个验证。 我们新建一个web工程。然后需要导入struts的相应包。之后我们需要写一个类来生成验证码。 博客地址:http://blog.csdn.net/sdksdk0/article/details/51755489
Struts2+hibernate+spring开发,使用MySQL数据,实现学生基本信息的增删改查功能,但是页面不美观
SSH三大框架整合 struts 2(xml配置)+hibernate(注解)+spring(xml配置),访问url,实现简单查询功能,(通过控制台输出数据)
使用struts拦截器+注解实现日志审计功能 详见博客: http://blog.csdn.net/lk_blog/article/details/10248395
2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录...
2. 系统要实现如下的基本管理功能: (1)用户分为两类:系统管理员,一般用户。 (2)提供用户注册和用户登录验证功能;其中登录用户的信息有:登录用户名,登录密码等。 (3)管理员可以实现对注册用户的管理...
struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版 struts2 的方式自己去看简单。 spring2.5 是用注释来注入 hibernate3.2 是用ejb3注解映射关系 hibernate3 +个属性可以自动...
本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...
Struts+Spring+Mybatis+EasyUI(jQuery)注解案例。采用注解的方式跟踪代码依赖性,实现替代配置文件功能。里面包含了平时用的增删改查及分页,分页查询时用的是存储过程,提高了数据库的性能。代码简单、易懂。
NULL 博文链接:https://zhouxianglh.iteye.com/blog/523783
框架版本:struts2.2.1、spring2.5.6、hibernate3.6.0.Final,全注解方式。 内容齐全下载后即可运行,注意Demo使用eclipse开发的。功能比较简单。