一. 基础配置
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)
该例中没有使用name和type参数,所以它们为默认值。
说明: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.xml中为每个Action类手动添加配置。相反,我们可以在Action类或者方法上直接使用注解来声明它们的功能。这样不仅提高了代码的可读性,还使得配置更加灵活。...
"Struts2 注解配置 Action 及拦截器几种不同方式写法对应的路径指向" Struts2 注解配置 Action 及拦截器是 Struts2 框架中的核心组件之一,负责处理用户请求并返回响应结果。下面,我们将通过详细的解释和示例代码...
Struts2 和 Spring 的整合是企业级 Java Web 开发中常见的技术栈,通过注解配置可以使项目更加简洁、易于维护。Struts2 提供了一种使用注解替代 XML 配置的方式,使得开发者无需编写繁琐的 struts.xml 文件,即可...
在传统的Struts2配置中,我们通常会在`struts.xml`文件中定义Action类、结果类型和结果页面等。然而,通过使用注解,我们可以将这些配置直接写在Action类和方法上,使得代码更加简洁和易于维护。 首先,`@Action`...
本文旨在为读者提供一套详尽的Struts2注解配置指南,帮助大家快速理解和掌握如何通过注解来配置Struts2的Action。 #### 二、Struts2注解配置基础 ##### 1. Struts2注解支持概述 - **插件依赖**:要启用Struts2的...
Struts2注解配置教程是指导开发者如何使用Java注解替代传统的XML配置来配置Struts2框架的一个教程系列。本文档主要涵盖了Struts2中注解配置的一些基本知识点以及如何通过注解实现零配置。 ### 注解配置之前 在介绍...
首先,了解`@Action`注解是理解Struts2注解配置的关键。这个注解用于标记一个类或方法作为处理HTTP请求的动作。例如: ```java @Action(value = "saveUser", results = { @Result(name = "success", location = ...
Struts2注解登录是Java Web开发中一种简化配置的方式,它允许开发者在代码中直接定义控制器、动作和结果页面的映射,从而避免了传统方式下需要在`struts.xml`配置文件中的繁琐设置。这种做法提高了代码的可读性和可...
Struts2中使用注解配置Action方法详解 Struts2框架提供了四个与Action相关的注解类型,分别为ParentPackage、Namespace、Result和Action。这四个注解类型可以帮助开发者更方便地配置Action,实现零配置,零配置将从...
Struts2注解配置是Java Web开发中一种高效、简洁的框架配置方式,它允许开发者在类或方法级别上直接定义Action、结果类型、参数映射等信息,从而避免了传统XML配置文件的繁琐。本资料集合了关于Struts2注解配置的...
Struts2的注解配置主要集中在Action类和结果类型上。使用@Action注解,我们可以直接在Action类上声明其对应的URL路径,而无需在struts.xml文件中进行配置。例如: ```java @Action(value = "saveUser", results = {...
在"使用文档.txt"中,你可能会找到更多关于如何配置Struts2、编写Action、设置拦截器、进行字段验证等的具体步骤和示例代码。而"Struts2"文件可能是包含示例项目或库的压缩包,供学习和参考。结合这两个资源,你可以...
总结一下,Struts2的注解配置Action可以简化开发流程,提高效率。`@Action`和`@Result`注解是主要的工具,它们帮助我们定义Action的URL和结果页面。同时,遇到`NoClassDefFoundError`异常时,检查并确保项目依赖正确...
5. **注解配置** 除了XML配置,Struts2还支持使用注解来配置Action。在Action类或方法上添加`@Action`注解,可以指定请求映射、结果视图等。 6. **组合使用** 可以结合以上方法,如使用通配符和方法映射,让一个...
根据提供的文件信息,我们可以从《Struts 2实战 Struts2 in Action》这一书籍中提炼出与Struts 2框架相关的多个重要知识点。Struts 2是一个基于Java的开源Web应用框架,它继承了Struts 1的优点并进行了大量的改进和...
在`Struts2Demo`项目中,你还可以学习到如何配置Struts2的`struts-plugin.xml`和`struts.xml`文件,以便启用注解支持,并了解如何在web.xml中配置过滤器,确保Struts2框架能正确拦截请求。 总结,Struts2注解是...
- Struts2支持使用注解在Action类的方法参数上,比如`@RequestParam`,配合`@InitBinder`,可以在控制器层处理编码问题。 4. **JSP页面**: - JSP页面的`;charset=UTF-8" language="java" %>`指令应设置正确的...
"struts2注解必须包"指的是Struts2提供的一系列注解,它们对于简化Struts2应用的配置和增强其功能至关重要。 标题中的"struts2-convention-plugin-2.1.8.1.jar"是Struts2的约定插件(Convention Plugin)的一个特定...
- **注解配置**:Struts2也支持使用Java注解来简化配置,直接在Action类或方法上添加注解即可。 3. **Action与Result**: - Action通过`execute()`方法响应请求,开发者可以自定义其他方法来处理特定的业务逻辑。...
可以通过配置项 `struts.convention.package.locators` 来指定搜索的位置,例如:`actions`, `action`, `struts`, `struts2` 等。这表示框架会在这些命名空间下查找 Action 类。此外,还可以通过 `struts.convention...