Struts2采用注解形式配置action

采用注解的优点:

使得代码看起来简单方便,并且让一个映射变得更加的独立。传统的方式是配置struts.xml配置访问与Action的映射关系,如果映射比较多的时候就会显得比较杂乱,而且还有其它的异常处理类、拦截器等。会使得struts.xml变得更加的杂乱了。不方便我们剖析。

详情参看:http://www.360doc.com/showWeb/0/0/209474603.aspx

那么就有一个新的方法诞生了:就是采用注解的方式,让配置与Action在一起,那么我们分析代码的时候也就变得更加的清晰容易了。

当然,这两种方法都是对的,根据每个人的习惯问题,可以采用不同的方法配置。就目前而言,我所理解的:如果大型的项目,采用注解的方式比较好。中小型项目XML方式配置还是蛮不错的。

接下来我们就了解一下如何的使用注解进行配置了:

当然,首先的必备知识就是注解的学习了。前面已经总结,此时不再赘述。

下面了解一下XML中的配置与采用注解配置的对应关系:

Package

·在struts.xml中根元素为<package>这个是配置包,以及其继承关系;

·那么采用注解方式配置方法为:@ParentPackage(value="struts-default"),当然如果键值为value的时候可以省略的

Action

·struts.xml中的Action配置就不比详解了,它包含有URLAction的映射、方法的设置、拦截器的添加、结果的分配等;

       ·采用注解的时候,它有如下的几个属性:

1、 value:对应的就是URL,类型为String

2、 results:对应的就是action不同的执行结果对应的操作类,类型为Result[],那么Result的属性及其内容如下:

a)        name:结果的类型,也就是Action中的常量字段,如:SUCCESSINPUT等,类型为String

b)       location:结果所处的位置,可以为Actionjsphtml等,类型为String

c)        params:要给结果传递的参数,格式为:{"key","value", "key2", "value2"},类型为String[]

3、 interceptorRefs:对应的就是拦截器,它的类型为:InterceptorRef[],那么InterceptorRef属性如下:

a)        nameinterceptor的名字、或者interceptor-stack的名字

b)       params:为拦截器传递的参数,其格式及类型和Resultparams的一样

4、 params:为这个Action传递的参数,类型和格式和Resultparams一样

5、 exceptionMappings:类型为ExceptionMapping[],那么ExceptionMapping的属性如下:

a)        result:结果名字,类型为String

b)       exception:所抛出的异常,类型为String

c)        params:为异常所传递的参数,类型和Resultparams一样

那么就此,就完成了常用的对应总结。

下面是一个很简单的应用例子,只给出部分代码:

……

@ParentPackage(value="struts-default")

@Action(value = "register", results =

{ @Result(location = "/registerResult.jsp", name ="success") })

public class RegisterAction extends DefaultActionSupport

{

       private String username;

       private String password;

       private Stringrepassword;

       private int age;

       private Date birthday;

       private Date graduation;

……

其实它和XML没有什么的区别。

那么当它和XML配置文件同时存在的时候,应该以注解的配置为准。

采用注解的优点:

使得代码看起来简单方便,并且让一个映射变得更加的独立。传统的方式是配置struts.xml配置访问与Action的映射关系,如果映射比较多的时候就会显得比较杂乱,而且还有其它的异常处理类、拦截器等。会使得struts.xml变得更加的杂乱了。不方便我们剖析。

详情参看:http://www.360doc.com/showWeb/0/0/209474603.aspx

那么就有一个新的方法诞生了:就是采用注解的方式,让配置与Action在一起,那么我们分析代码的时候也就变得更加的清晰容易了。

当然,这两种方法都是对的,根据每个人的习惯问题,可以采用不同的方法配置。就目前而言,我所理解的:如果大型的项目,采用注解的方式比较好。中小型项目XML方式配置还是蛮不错的。

接下来我们就了解一下如何的使用注解进行配置了:

当然,首先的必备知识就是注解的学习了。前面已经总结,此时不再赘述。

下面了解一下XML中的配置与采用注解配置的对应关系:

Package

·在struts.xml中根元素为<package>这个是配置包,以及其继承关系;

·那么采用注解方式配置方法为:@ParentPackage(value="struts-default"),当然如果键值为value的时候可以省略的

Action

·struts.xml中的Action配置就不比详解了,它包含有URLAction的映射、方法的设置、拦截器的添加、结果的分配等;

       ·采用注解的时候,它有如下的几个属性:

1、 value:对应的就是URL,类型为String

2、 results:对应的就是action不同的执行结果对应的操作类,类型为Result[],那么Result的属性及其内容如下:

a)        name:结果的类型,也就是Action中的常量字段,如:SUCCESSINPUT等,类型为String

b)       location:结果所处的位置,可以为Actionjsphtml等,类型为String

c)        params:要给结果传递的参数,格式为:{"key","value", "key2", "value2"},类型为String[]

3、 interceptorRefs:对应的就是拦截器,它的类型为:InterceptorRef[],那么InterceptorRef属性如下:

a)        nameinterceptor的名字、或者interceptor-stack的名字

b)       params:为拦截器传递的参数,其格式及类型和Resultparams的一样

4、 params:为这个Action传递的参数,类型和格式和Resultparams一样

5、 exceptionMappings:类型为ExceptionMapping[],那么ExceptionMapping的属性如下:

a)        result:结果名字,类型为String

b)       exception:所抛出的异常,类型为String

c)        params:为异常所传递的参数,类型和Resultparams一样

那么就此,就完成了常用的对应总结。

下面是一个很简单的应用例子,只给出部分代码:

……

@ParentPackage(value="struts-default")

@Action(value = "register", results =

{ @Result(location = "/registerResult.jsp", name ="success") })

public class RegisterAction extends DefaultActionSupport

{

       private String username;

       private String password;

       private Stringrepassword;

       private int age;

       private Date birthday;

       private Date graduation;

……

其实它和XML没有什么的区别。

那么当它和XML配置文件同时存在的时候,应该以注解的配置为准。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值