`

注解配置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

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

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

    struts2注解配置全面解析

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

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

    主要介绍了struts2中使用注解配置Action方法详解,涉及一个示例,具有一定参考价值,需要的朋友可以了解下。

    使用注解配置Action

    使用注解配置Action示例。里面已经包涵java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils错误异常的解决方案。

    Struts2 in action中文版

    第1章 Struts 2:现代Web框架 2 1.1 Web应用程序:快速学习 2 1.1.1 构建Web应用程序 2 1.1.2 基础技术简介 3 1.1.3 深入研究 6 1.2 Web应用程序框架 7 1.2.1 什么是框架 7 1.2.2 为什么使用框架 8 1.3 Struts 2框架...

    struts2 使用注解现在零配置不需要在使用struts.xml配置文件,可以直接跑

    struts2 使用注解现在零配置不需要在使用struts.xml配置文件。 struts2 注解实例。可以直接跑

    ssh2注解配置

    ssh2注解配置,全部是注解配置,struts2和hibernate3和spring2.5全部是注解配置,,访问路径为http://localhost:8080/mytest/student/findAll.action

    struts2demo全注解

    struts2将请求在Action中封装为Map并将配置文件放到web-info中还可以自定义配置文件位置就是不将struts.xml放到src下但还是不如spring mvc 的封装来得方便

    struts2 in action

    《Struts 2实战》结合实例介绍了Struts 2框架,主要内容包括Action、Result、Interceptor等框架组件,基于注解的配置选项等新特征,Struts 2插件 FreeMarker,如何从Struts 1和WebWork 2迁移到Struts 2,Ajax标签、...

    Struts2注解使用说明文档

    而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行配置,甚至不需要使用Annotation进行配置,而是由struts2根据约定...

    Struts2使用注解实现文件的上传与下载

    使用struts2基于注解(零配置)实现的文件上传与下载的代码,可以正常运行

    Struts2实战.pdf

    《Struts 2实战》结合实例介绍了Struts 2框架,主要内容包括Action、Result、Interceptor等框架组件,基于注解的配置选项等新特征,Struts 2插件 FreeMarker,如何从Struts 1和WebWork 2迁移到Struts 2,Ajax标签、...

    struts2注解详细说明

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

    spring管理struts的action的代码

    spring管理struts的action的代码 从类路径下加载spring的配置文件, 多个配置文件可以用逗号和空格区分 * classpath: 关键字特指类路径下加载

    SSH框架搭建成功例子(注解方式,Struts2自身创建Action)

    使用的是注解的方式完成的,因为注解的方式可以减少一些配置文件,比较方便的。 【特别强调】一定要清楚如何调试项目,因为自己的环境和下载的资源的环境可能不一样,需要修改配置文件或是其他才能正常运行。...

    Struts2入门教程(全新完整版)

    十一、注解配置 59 十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方...

    Struts2注解

    Struts2直接使用注解的详细配置action 去掉Struts.xml 省去多余的代码 让代码更直观

    struts2+spring+hibernate整合示例

    b 在struts.xml中添加action,使用通配符的方式 , 注意这里和单独struts2不同的地方: class属性指向的是bean 的 id ,这里我们配置bean采用spring ioc注解的方式, 所以默认的bean的id 为 类名(首字母小写) ...

Global site tag (gtag.js) - Google Analytics