`

注解配置Struts2 Action

 
阅读更多

 

一. 基础配置

1. ParentPackage注解的参数

参数

类型

是否必需

默认值

描述

value

String

指定要继承的父包

如果注解中只有一个名为value的参数,或其他参数都有默认值,那么在为value参数设值时可以忽略value和等号(=)

:

@ParentPackage(value="struts-default")

@ParentPackage("struts-default")

 

2. Namespace注解的参数

参数

类型

是否必需

默认值

描述

value

String

指定action所属的名称空间

:

@Namespace("/secure")

说明:命名空间取名时,以斜杠(/)开头。

 

3. Result注解的参数

参数

类型

是否必需

默认值

描述

name

String

Action.SUCCESS

指定result的逻辑名,即结果代码

value

String

指定result对应的资源的URL

type

Class

NullResult.class

指定result的类型

param

String[ ]

{  }

result传递参数,格式为:{key1,value1,key2,value2}

例:

@Result("/success.jsp")

@Result(name="register",value="/register.jsp",param={},type=ServletDispatcherResult.class)

该例中没有使用nametype参数,所以它们为默认值。

说明:type参数的默认值是NullResult.class,如果type参数是NullResult.class,则struts2框架在解析result的配置时,使用默认的结果类型(ServletDispatcherResult)来替换NullResult

 

注意:type是类,不是字符串,因此不需要使用””将该注解参数值括起来。

 

4. Results注解的参数

配置多个result。该注解只有一个参数value。使用时候可以忽略value和等号(=)

参数

类型

是否必需

默认值

描述

value

Result[ ]

action定义一组result映射

例:

@Results({

              @Result(name="input",value="/input.jsp"),

              @Result(name="error",value="/error.jsp",type=ServletDispatcherResult.class)

       })

 

在上面的例子中定义了两个result映射。一个逻辑名是input,资源位置是/input.jsp;另一个逻辑名是error,资源位置是/error.jsp.

 

 

 

二. 使用注解配置Action的注意事项

①  action配置相关的4个注解只能用在类级别上。

 

②  需要在web.xml文件中为FilterDispatcher过滤器设置actionPackages参数,指定包含了Action(类使用了注解)的包的列表,多个包之间以逗号(,)分隔。这些包和它们的子包都将被扫描,在指定包中的所有实现了Action接口的类,或以“Action”结尾的类都将被检测。后者允许我们编写POJO Action类,而不需要实现Action接口。

 

③  包名名称空间名action的产生方式如下

包名: Action类所在的包作为action的包名。

 

命名空间:除了使用Namespace注解指定名称空间外,也可以通过子包名来产生名称空间。

例:Action类所在的包为com.xxx.action,如果actionPackages参数指定的包是com.xxx,那么“/action”将作为名称空间的名字。

 

action名:通过Action的类名来产生action的名字。若类名以“Action”结尾,那么类名中的“Action”将被去掉,剩余部分将首字母变为小写作为action的名字。

例:action的类名是LoginAction,那么产生的action的名字是login.

 

例:若Action的完整类名是com.xxx.action.LoginAction

则,

actionPackages参数的配置为com.xxx

action的包名com.xxx.action

action所属的命名空间/action

action的名字login

可以通过http://localhost:8080/myapp/action/login.action来访问LoginAction

 

如果你想让你的包继承struts-default包,无须使用ParentPackage注解,在框架内部,会自动让你的包继承struts-default包。

 

 

三. 使用注解配置Action实例

一个Action和三个页面。三个页面配置为Result映射。

实例开发步骤如下:

第一步:编写success.jsp,input.jsp,error.jsp页面。

 

第二步:编写Action

@Namespace("/test")
@Result("/success.jsp")
@Result({
    @Result(name="input",value="/input.jsp"),
    @Result(name="error",value="/error.jsp".type=ServletDispatcherResult.class)
})
public class AnnotationAction implementsAction{
    public String execute() throws Exception{
        return SUCCESS;
    }

    public String input() throws Exception{
        return INPUT;
    }

    public String error() throws Exception{
        return ERROR;
    }

}
  

 

第三步:配置web.xml

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class >
    <init-param>
        <param-name>actionPackages</param-name>
        <param-value>com.xxx.action</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>struts2</ filter-name>
    <url-pattern>/*</ url-pattern >
</ filter-mapping>
 

 

第四步:测试

http://localhost:8080/myapp/test.annotation.action

http://localhost:8080/myapp/test.annotation!input.action

http://localhost:8080/myapp/test.annotation!error.action

 

分享到:
评论

相关推荐

    Struts 2使用注解配置Action

    在"Struts 2使用注解配置Action"中,我们不再需要在struts.xml中为每个Action类手动添加配置。相反,我们可以在Action类或者方法上直接使用注解来声明它们的功能。这样不仅提高了代码的可读性,还使得配置更加灵活。...

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

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

    Struts2+spring注解配置

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

    基于注解的struts2的简单工程

    在传统的Struts2配置中,我们通常会在`struts.xml`文件中定义Action类、结果类型和结果页面等。然而,通过使用注解,我们可以将这些配置直接写在Action类和方法上,使得代码更加简洁和易于维护。 首先,`@Action`...

    struts2注解配置全面解析

    本文旨在为读者提供一套详尽的Struts2注解配置指南,帮助大家快速理解和掌握如何通过注解来配置Struts2的Action。 #### 二、Struts2注解配置基础 ##### 1. Struts2注解支持概述 - **插件依赖**:要启用Struts2的...

    Struts2注解配置教程

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

    Struts2之Annotation注解配置使用案例struts013

    首先,了解`@Action`注解是理解Struts2注解配置的关键。这个注解用于标记一个类或方法作为处理HTTP请求的动作。例如: ```java @Action(value = "saveUser", results = { @Result(name = "success", location = ...

    struts2注解登陆

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

    struts2中使用注解配置Action方法详解

    Struts2中使用注解配置Action方法详解 Struts2框架提供了四个与Action相关的注解类型,分别为ParentPackage、Namespace、Result和Action。这四个注解类型可以帮助开发者更方便地配置Action,实现零配置,零配置将从...

    struts2注解配置

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

    Struts2+spring注解配置简介

    Struts2的注解配置主要集中在Action类和结果类型上。使用@Action注解,我们可以直接在Action类上声明其对应的URL路径,而无需在struts.xml文件中进行配置。例如: ```java @Action(value = "saveUser", results = {...

    Struts2框架及注释和用法

    在"使用文档.txt"中,你可能会找到更多关于如何配置Struts2、编写Action、设置拦截器、进行字段验证等的具体步骤和示例代码。而"Struts2"文件可能是包含示例项目或库的压缩包,供学习和参考。结合这两个资源,你可以...

    使用注解配置Action

    总结一下,Struts2的注解配置Action可以简化开发流程,提高效率。`@Action`和`@Result`注解是主要的工具,它们帮助我们定义Action的URL和结果页面。同时,遇到`NoClassDefFoundError`异常时,检查并确保项目依赖正确...

    struts2一个action处理多个请求 struts2实例

    5. **注解配置** 除了XML配置,Struts2还支持使用注解来配置Action。在Action类或方法上添加`@Action`注解,可以指定请求映射、结果视图等。 6. **组合使用** 可以结合以上方法,如使用通配符和方法映射,让一个...

    Struts 2实战 struts2 in Action

    根据提供的文件信息,我们可以从《Struts 2实战 Struts2 in Action》这一书籍中提炼出与Struts 2框架相关的多个重要知识点。Struts 2是一个基于Java的开源Web应用框架,它继承了Struts 1的优点并进行了大量的改进和...

    Struts2 注解 Demo

    在`Struts2Demo`项目中,你还可以学习到如何配置Struts2的`struts-plugin.xml`和`struts.xml`文件,以便启用注解支持,并了解如何在web.xml中配置过滤器,确保Struts2框架能正确拦截请求。 总结,Struts2注解是...

    struts2 使用action属性接收中文参数(post提交)

    - Struts2支持使用注解在Action类的方法参数上,比如`@RequestParam`,配合`@InitBinder`,可以在控制器层处理编码问题。 4. **JSP页面**: - JSP页面的`;charset=UTF-8" language="java" %&gt;`指令应设置正确的...

    struts2注解必须包

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

    Struts2 in action(struts2实战)

    - **注解配置**:Struts2也支持使用Java注解来简化配置,直接在Action类或方法上添加注解即可。 3. **Action与Result**: - Action通过`execute()`方法响应请求,开发者可以自定义其他方法来处理特定的业务逻辑。...

    struts2注解详解

    可以通过配置项 `struts.convention.package.locators` 来指定搜索的位置,例如:`actions`, `action`, `struts`, `struts2` 等。这表示框架会在这些命名空间下查找 Action 类。此外,还可以通过 `struts.convention...

Global site tag (gtag.js) - Google Analytics