`

Strtus2注解

 
阅读更多
通过在Struts2中使用struts.xml和Struts2注解结合来配置Action,可以简化配置文件代码量,又使配置变得更加灵活。在Strtus2中有以下几个注解:
   
  • @ParentPackage:
  • @Namespace:
  • @Results和Result注解:

@ParentPackage:

它相当于<package>中的extends属性,也就是设置当前包的父包。其中它有一个value属性,它相当于<package>中的name属性值。

@Namespace

是用来指定当前包的命名空间的。它只有一个value属性,表示命名空间的名字。

@Results和@Result注解要在一起使用

@Results注解有一个@Result数组型的value 属性。
@Result注解有以下四个参数:

  • name:String类型,表示结果名,默认是Action.SUCCESS。
  • type: Class类型,相当于<result>标签的type属性,默认值是NullResult.class。
  • value:String类型,结果值,可以是有效的Web资源URL。
  • params:String[]类型。相当于<result>标签的<param>子标签。格式为{key1,key2..}
   
注意:Struts2注解有一个约定,Action名字就是名为XxxAction动作类的xxx。也就是说Action类为LoginAction,则Action类名为login。   
   
以下是convention-plugin的约定:以下修改都是在Struts.xml中。

1、struts.convention.result.path

默认所有的结果页面都存储在WEB-INF/content下,通过设置struts.convention.result.path这个属性的值来改变到其他路径。
<constant name="struts.convention.result.path" value="/" />

这个表示所有的结果位于网站根目录下了。

2、struts.convention.package.locators

默认包路径包含action,actions,struts,struts2的所有包都会被struts作为含有Action类的路径来搜索。通过设置struts.convention.package.locators属性来修改这个配置。
<constant name="struts.convention.package.locators" value="web,action" /> 

这个表示包路径包含web和action的将被视为Action存在的路径来进行搜索。

3、命名空间从定义的.package.locators标示开始到包结束的部分,就是命名空间。

  Com.ustb.web.user.userAction的命名空间是:”/user”。
  Com.ustb.web.user.detail.UserAction的命名空间是:”/user/detail”

实例分析:

@Action(value="wsh",results={ @Result( name="success" , location="success.jsp"),
                              @Result( name="login"   , location="error.jsp"  )})
 public String execute()  {
  ActionContext context = ActionContext.getContext();
  HttpServletRequest request = (HttpServletRequest) context.get(org.apache.struts2.StrutsStatics.HTTP_REQUEST);
  String username = request.getParameter("username");
  String password = request.getParameter("password");
  if ("wsh".equals(username) && "butterfly".equals(password))   {
   return SUCCESS;
  }   else   {
   return LOGIN;
  }
 }


struts.xml文件中的内容如下:
<constant name="struts.convention.package.locators" value="action" />
<constant name="struts.convention.result.path" value="/" />
分享到:
评论

相关推荐

    struts2注解与拦截器demo

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

    Struts2注解开发jar

    Struts2注解开发jar,必须导入struts2-convention-plugin-2.3.15.jar包,它在struts2安装包下lib目录中。

    Maven实现struts2注解

    Maven实现struts2注解

    Struts2注解详细说明文档

    Struts2注解详细说明文档,详细讲述struts2的注解使用

    struts2注解登陆

    注解实现的页面跳转其特点是不用配置文件struts.xml因而可以实现零配置,同时由于有注解的功能,所以说大大增加了程序的可维护性。

    Struts2 注解 Demo

    Struts2Demo 注解的小例子,jar包全包括

    struts2注解详解

    从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行...

    struts2注解配置Action及拦截器几种不同方式写法对应的路径指向.docx

    struts2注解配置Action及拦截器几种不同方式写法对应的路径指向.docx

    struts2注解必须包

    struts2-convention-plugin-2.1.8.1.jar

    struts2注解配置

    struts2 注解 配置 资料 最近学习struts2的注解配置,从网上找的一些资料,分享给大家。

    struts2注解配置全面解析

    很多人在学习struts2注解的时候,都被它莫名其妙的错误搞的郁闷,而网上关于这方面的东西大多都是基于struts2.0版本的,对我们现在用的2.1以上的版本不起什么作用,所以特整理出一份文档,里面详细说明了怎样用注解...

    Struts2注解配置教程

    《Struts2注解配置》 ——系列精品教程

    spring和Struts2注解文档

    spring和struts2注解讲解说明和使用

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

    本文档对利用struts2 注解 annotation 实现文件下载作了简单介绍,并有代码为例,希望对学习struts2注解annotation的人有帮助,特别是需要动态传参方面。

    Struts2注解

    Struts2注解,很适用于初学者,简单易懂,开发中值得参考参考

    struts2注解

    struts2 注解与Action相关的两个Annotation是@Action 和@Actions2)@Action中可指定一个value属性。类似于指定””/&gt;属性值

    Struts2注解使用说明文档

    从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行...

    全新整合 SSH Struts2+Spring3+Hibernate4 采用Struts2注解 有lib包。一个小实例 完美模版整合.zip

    全新整合 SSH Struts2+Spring3+Hibernate4 采用Struts2注解 有lib包。一个小实例 完美模版整合.zip 全新整合 SSH Struts2+Spring3+Hibernate4 采用Struts2注解 有lib包。一个小实例 完美模版整合.zip 全新整合 SSH ...

    struts2注解详细说明

    从struts2.1版本开始,Convention Plugin作为替换替换Codebehind Plugin来实现Struts2的零配置。• 包命名习惯来指定Action位置• 命名习惯制定结果(支持JSP,FreeMarker等)路径• 类名到URL的约定转换• 包名...

Global site tag (gtag.js) - Google Analytics