除了使用配置文件配置之外,还能够使用注解来配置

以下是一些经常使用的注解

介绍:

@Action/@Actions:

@Action指定一个类为action,相应配置文件里的<action>....</action>标签,当中能够配置例如以下属性

  1. results:配置返回的结果集属性,相当于struts2中的<result>列表,能够在{}中配置属性,详细例如以下
  2. value:配置action的名字,相当于<action>中的name属性
  3. interceptorRefs:配置拦截器
@Action能够定义在类上,也能够定义在方法上
例如以下(@Result的作用后面讲,也能够和后面的配合着看)
@Action(value = "testAction",results = {@Result(name="success",location="/success.jsp")})
public class testAction extends ActionSupport { @Override
public String execute() throws Exception {
return SUCCESS;
}
}

这就相当于例如以下的xml配置

<action name="testAction" class="struts2.action.testAction">
<result name="success">/success.jsp</result>
</action>

在xml配置中假设name不写,那么默认就是success,在注解中也是,假设results中的name不写。那么默认就是success


也能够使用@Actions来指定多个action映射,这样能够做到一个类相应多个地址映射。例如以下
@Actions({
@Action(value = "testAction",results = {@Result(location="/success.jsp")}),
@Action(value = "testAction2",results = {@Result(location="/success.jsp")})
})
public class testAction extends ActionSupport { @Override
public String execute() throws Exception {
return SUCCESS;
}
}

这是使用/testAction或者/testAction2都能够跳转到success.jsp上。由于配置了两个action映射



在xml配置中,我们有例如以下的配置方法

<action name="*" class="struts2.action.testAction" method={1}>
<result name="{1}">/{1}.jsp</result>
</action>

这是xml配置中的通配符方式,即当我们以add来訪问action时。将会进到action的add方法进行处理。当返回add时会跳转到add.jsp页面

在注解中没有通配符能够使用,可是也能够实现类似的效果,这时@Action就要写在方法上了,就像以下这样

public class testAction extends ActionSupport {
@Action(value = "add",results = {@Result(name="add",location="/add.jsp")})
public String add() throws Exception {
return "add";
}
@Action(value = "delete",results = {@Result(name="delete",location="/delete.jsp")})
public String delete() throws Exception {
return "delete";
}
}

这样便实现了上面的效果。这说明@Action也是能够在方法上声明的(@Actions也能够在方法上声明)


@Result/@Results:

@Result配置详细返回结果。在results中使用,也能够单独在类上使用,有例如以下属性

  1. name:相应<result>中的name属性
  2. location:相应<result></result>间的地址
  3. type:相应<result>的type属性
@Result能够在类上声明。也能够和Action配置声明,假设在类上声明,那么就是全局的结果,例如以下
@Result(name="delete",location = "/delete.jsp")
public class testAction extends ActionSupport {
@Action(value = "add", results = { @Result(name = "add", location = "/add.jsp") })
public String add() throws Exception {
return "add";
} @Action(value = "delete")
public String delete() throws Exception {
return "delete";
}
}

尽管delete方法没有指定返回delete时要跳转到哪个页面页面。可是在类上用@Result声明了,那么就会找到类上面的这个@Result,然后跳转到delete.jsp页面


@Results是用来声明多个结果集。使用方法和@Actions类似,这里就不再详述




struts2注解总结----@Action和@Result的更多相关文章

  1. Struts2基于注解的Action配置

    使用注解来配置Action的最大好处就是可以实现零配置,但是事务都是有利有弊的,使用方便,维护起来就没那么方便了. 要使用注解方式,我们必须添加一个额外包:struts2-convention-plu ...

  2. Struts2利用注解实现action跳转

    使用注解来配置Action的最大好处就是可以实现零配置,但是事务都是有利有弊的,使用方便,维护起来就没那么方便了. 要使用注解方式,我们必须添加一个额外包:struts2-convention-plu ...

  3. struts2基于注解配置action

    如果使用struts2,就需要配置文件或者注解,关于struts2的配置文件struts.xml非常熟悉,对于注解可能spring使用的比较多.配置文件的繁琐衬托出了注解的简洁方便,一条或者几条注解解 ...

  4. Struts2的使用注解配置Action(零配置)

    1.首先引入struts2注解的jar包:struts2-convention-plugin.jar ------------------------------第一种方式-------------- ...

  5. struts2基于注解的action

    使用注解来配置Action的最大好处就是可以实现零配置,但是事务都是有利有弊的,使用方便,维护起来就没那么方便了. 要使用注解方式,我们必须添加一个额外包:struts2-convention-plu ...

  6. struts2学习笔记之十四:使用注解配置Action(不是和spring集成使用)

    Struts2支持使用注解配置Action,减少配置文件的配置 Struts2如果要支持注解配置Action,需要插件的支持,导入插件struts2-convention-plugin-2.1.8.1 ...

  7. 【Struts2学习笔记(2)】Action默认值和配置Action于result各种转发类型

    一.Action缺省配置值 <span style="font-size:18px;"><package name="itcast" name ...

  8. [struts2学习笔记] 第六节 struts2依赖的jar包还有Could not find action or result 错误解决

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/43272061 本文作者:sushengmiyan ------------------ ...

  9. jquery序列化from表单使用ajax提交返回json数据(使用struts2注解result type = json)

    1.action类引入struts2的"json-default"拦截器栈 @ParentPackage("json-default") //示例 @Paren ...

随机推荐

  1. [译]从列表或字典创建Pandas的DataFrame对象

    原文来源:http://pbpython.com/pandas-list-dict.html 介绍 每当我使用pandas进行分析时,我的第一个目标是使用众多可用选项中的一个将数据导入Pandas的D ...

  2. koa2在node6中如何运行

    koa2在node6下运行 { "babel-core": "^6.24.1", "babel-plugin-syntax-async-functio ...

  3. Threadlocal_笔记

    参考:https://www.jianshu.com/p/377bb840802f https://www.cnblogs.com/dreamroute/p/5034726.html ThreadLo ...

  4. 【bzoj3295】[Cqoi2011]动态逆序对 线段树套SBT

    题目描述 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数.给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序 ...

  5. tcp协议 tcpip协议 http协议,IP,DNS,端口号

    每当看到HTTP协议,tcp/ip协议,TCP协议总是蒙圈:在这里先记录一下,方面自己查看 TCP协议:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接 ...

  6. 修改Linux内核参数 减少TIME-WAIT

    编辑/etc/sysctl.conf文件 增加 net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle ...

  7. bzoj 4131: 并行博弈 (parallel)

    bzoj 4131: 并行博弈 (parallel) Description lyp和ld在一个n*m的棋盘上玩翻转棋,游戏棋盘坐标假设为(x, y),1 ≤ x ≤ n,1 ≤ y ≤ m,这个游戏 ...

  8. 'NoneType' object has no attribute '__getitem__'

    报错 'NoneType' object has no attribute '__getitem__' 你 result 返回的是 None ,所以 result [0] 取不了值

  9. vue项目上传文件以及进度条

    最近做项目的时候,需要上传自定义镜像.并且附带进度条,上网查询一下资料,经过一番折磨,也总算做出来了,把自己写项目的内容给大家分享一下. 先直接贴代码吧 1.首先声明一个formData对象. 2.把 ...

  10. poj 3261 Milk Patterns 后缀数组 + 二分

    题目链接 题目描述 给定一个字符串,求至少出现 \(k\) 次的最长重复子串,这 \(k\) 个子串可以重叠. 思路 二分 子串长度,据其将 \(h\) 数组 分组,判断是否存在一组其大小 \(\ge ...