您的位置:首页 > 编程语言 > Java开发

Struts2采用注解形式配置action

2012-05-16 19:31 387 查看
采用注解的优点:
使得代码看起来简单方便,并且让一个映射变得更加的独立。传统的方式是配置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配置就不比详解了,它包含有URL与Action的映射、方法的设置、拦截器的添加、结果的分配等;
·采用注解的时候,它有如下的几个属性:
1、 value:对应的就是URL,类型为String
2、 results:对应的就是action不同的执行结果对应的操作类,类型为Result[],那么Result的属性及其内容如下:
a) name:结果的类型,也就是Action中的常量字段,如:SUCCESS、INPUT等,类型为String
b) location:结果所处的位置,可以为Action、jsp、html等,类型为String
c) params:要给结果传递的参数,格式为:{"key","value", "key2", "value2"},类型为String[]
3、 interceptorRefs:对应的就是拦截器,它的类型为:InterceptorRef[],那么InterceptorRef属性如下:
a) name:interceptor的名字、或者interceptor-stack的名字
b) params:为拦截器传递的参数,其格式及类型和Result的params的一样
4、 params:为这个Action传递的参数,类型和格式和Result的params一样
5、 exceptionMappings:类型为ExceptionMapping[],那么ExceptionMapping的属性如下:
a) result:结果名字,类型为String
b) exception:所抛出的异常,类型为String
c) params:为异常所传递的参数,类型和Result的params一样
那么就此,就完成了常用的对应总结。
下面是一个很简单的应用例子,只给出部分代码:
……
@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配置就不比详解了,它包含有URL与Action的映射、方法的设置、拦截器的添加、结果的分配等;
·采用注解的时候,它有如下的几个属性:
1、 value:对应的就是URL,类型为String
2、 results:对应的就是action不同的执行结果对应的操作类,类型为Result[],那么Result的属性及其内容如下:
a) name:结果的类型,也就是Action中的常量字段,如:SUCCESS、INPUT等,类型为String
b) location:结果所处的位置,可以为Action、jsp、html等,类型为String
c) params:要给结果传递的参数,格式为:{"key","value", "key2", "value2"},类型为String[]
3、 interceptorRefs:对应的就是拦截器,它的类型为:InterceptorRef[],那么InterceptorRef属性如下:
a) name:interceptor的名字、或者interceptor-stack的名字
b) params:为拦截器传递的参数,其格式及类型和Result的params的一样
4、 params:为这个Action传递的参数,类型和格式和Result的params一样
5、 exceptionMappings:类型为ExceptionMapping[],那么ExceptionMapping的属性如下:
a) result:结果名字,类型为String
b) exception:所抛出的异常,类型为String
c) params:为异常所传递的参数,类型和Result的params一样
那么就此,就完成了常用的对应总结。
下面是一个很简单的应用例子,只给出部分代码:
……
@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配置文件同时存在的时候,应该以注解的配置为准。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: