分享

struts2采用注解方式配置url和Action的映射

 昵称9918558 2012-05-08

采用注解的优点:

使得代码看起来简单方便,并且让一个映射变得更加的独立。传统的方式是配置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条评论

    发表

    请遵守用户 评论公约

    类似文章 更多