`

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注解开发jar

    标题提到的"Struts2注解开发jar"主要指的是`struts2-convention-plugin`,这是一个Struts2的插件,它的主要作用是支持基于约定优于配置(Convention over Configuration)的开发模式。描述中提到的`struts2-...

    struts2注解登陆

    Struts2注解登录是Java Web开发中一种简化配置的方式,它允许开发者在代码中直接定义控制器、动作和结果页面的映射,从而避免了传统方式下需要在`struts.xml`配置文件中的繁琐设置。这种做法提高了代码的可读性和可...

    Struts2 注解 Demo

    本教程将通过一个"Struts2注解Demo"来深入探讨Struts2中的注解用法,帮助开发者更高效地配置和管理Action类。 首先,Struts2的注解允许我们避免传统的XML配置,从而实现更加简洁、直观的编程方式。在`Struts2Demo`...

    Maven实现struts2注解

    &lt;constant name="struts.objectFactory" value="struts注解工厂类全限定名,比如:org.apache.struts2.spring.StrutsSpringObjectFactory" /&gt; &lt;package name="default" extends="struts-default"&gt; ...

    struts2注解与拦截器demo

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

    struts2注解详解

    ### Struts2 注解详解 #### 一、Struts2 Convention 插件介绍与使用 在 Struts2 框架的发展过程中,随着版本的更新和技术的演进,其配置方式也发生了变化。从 Struts2.1 版本开始,官方不再推荐使用 Codebehind ...

    Struts2注解详细说明文档

    ### Struts2注解详细说明 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种构建企业级Java Web应用的解决方案。自Struts2.1版本开始,引入了一个重要的插件——Convention Plugin,该...

    struts2注解必须包

    "struts2注解必须包"指的是Struts2提供的一系列注解,它们对于简化Struts2应用的配置和增强其功能至关重要。 标题中的"struts2-convention-plugin-2.1.8.1.jar"是Struts2的约定插件(Convention Plugin)的一个特定...

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

    "Struts2 注解配置 Action 及拦截器几种不同方式写法对应的路径指向" Struts2 注解配置 Action 及拦截器是 Struts2 框架中的核心组件之一,负责处理用户请求并返回响应结果。下面,我们将通过详细的解释和示例代码...

    struts2注解配置全面解析

    ### Struts2注解配置全面解析 #### 一、引言 随着Struts2框架的不断更新和发展,很多开发者在尝试使用注解方式进行配置时往往会遇到不少难题。尤其是在使用Struts2.1及以上版本时,由于大部分教程和资料仍然基于...

    struts2注解配置

    Struts2注解配置是Java Web开发中一种高效、简洁的框架配置方式,它允许开发者在类或方法级别上直接定义Action、结果类型、参数映射等信息,从而避免了传统XML配置文件的繁琐。本资料集合了关于Struts2注解配置的...

    Struts2注解配置教程

    Struts2注解配置教程是指导开发者如何使用Java注解替代传统的XML配置来配置Struts2框架的一个教程系列。本文档主要涵盖了Struts2中注解配置的一些基本知识点以及如何通过注解实现零配置。 ### 注解配置之前 在介绍...

    Struts2注解使用说明

    ### Struts2注解使用详解 #### 一、引言 在Java Web开发领域,Struts2框架以其灵活的架构和强大的功能深受开发者喜爱。传统上,Struts2的配置依赖于XML文件,如`struts.xml`,这在大型项目中可能会导致配置文件...

    struts2注解小实例

    在这个小实例中,我们将深入探讨如何利用Struts2的注解来构建一个简洁而高效的Web应用。 首先,让我们了解什么是注解。在Java中,注解是一种元数据,它提供了一种安全的方法来向编译器、JVM或框架提供信息。Struts2...

    spring和Struts2注解文档

    在IT领域,特别是Java开发框架中,Spring和Struts2都是极为重要的技术栈,它们各自通过注解(Annotation)机制提供了强大的功能扩展性和代码简洁性。以下是对Spring和Struts2注解的深入解析和使用指南。 ### Spring...

    Struts2注解

    Struts2注解是Struts2框架中的一种简化配置的方式,允许开发者在代码中直接进行配置,无需在XML文件中进行繁琐的设置。这提高了开发效率,并使得代码更具有可读性。 一、配置web.xml 在Struts2中,web.xml是部署...

    Struts2+spring注解配置

    Struts2 和 Spring 的整合是企业级 Java Web 开发中常见的技术栈,通过注解配置可以使项目更加简洁、易于维护。Struts2 提供了一种使用注解替代 XML 配置的方式,使得开发者无需编写繁琐的 struts.xml 文件,即可...

    struts2注解

    Struts2注解是框架提供的一种简化XML配置的方式,它允许开发者在Action类或方法上直接添加注解,实现Action、结果(Result)和拦截器(Interceptor)的配置。这种方式提高了代码的可读性和可维护性,同时也减少了XML...

Global site tag (gtag.js) - Google Analytics