struts2注解的作用
Struts2注解
1 Struts2注解的作用
使用注解可以用来替换struts.xml配置文件!!!
2 导包
必须导入struts2-convention-plugin-2.3.15.jar包,它在struts2安装包下lib目录中。
3 通过配置文件学习对应的注解
@Action来代替<action>元素!
l String value():指定访问路径;
l Result[] results():指定局部结果。
@Result来代替<result>元素!
l String name():指定结果名称;
l String location():指定结果路径。
@Namespace代替<package>的namespace属性:
l String value():指定名称空间。
@ParentPackage代替<package>的extends属性:
l String value():指定父包名称
|
@Namespace("/order") @ParentPackage("struts-default") publicclass OrderAction extends ActionSupport { @Action(value="add", results={ @Result(name="success", location="/index.jsp"), @Result(name="input", location="/add.jsp")}) public String add() { System.out.println("add()"); returnSUCCESS; } @Action(value="mod", results={@Result(name="success", location="/index.jsp")}) public String mod() { System.out.println("mod()"); returnSUCCESS; } @Action(value="del", results={@Result(name="success", location="/index.jsp")}) public String del() { System.out.println("del()"); returnSUCCESS; } } |
4 注解相关常量
struts.convention.classes.reload,默认值为false。表示在修改注解后需要重启Tomcat!
Struts2约定(了解)
1 什么是约定
使用约定可以连注解都不写,是真正的零配置,但是它的能力有限,所以这种方式不可取的。
l Struts2会对Action的命名,以及Action的包名都有限制;
l Struts2会对结果页面的存放路径,以及结果页面的名称也都有限制。
使用约定与使用注解一样,也要导包:struts2-convention-plugin-2.3.15.jar
1 约定对Action的限制
约定Action类名:
要求Action的命名必须以“Action”为后缀,例如:UserAction、BookAction等等。可以使用下面常量来修改后缀限制:
<constant name="struts.convention.action.suffix" value="Action"/>
约定Action包名:
要求Action必须放到action、actions、struts、struts2包中。例如:cn.itcast.action、cn.itcast.sturts、cn.itcast.action.user等等。可以使用下面常量来修改Actoin的包
<constant name="struts.convention.package.locators" value="action,actions,struts,struts2"/>
3 通过Action的限制得到访问路径
上面已经知道约定对Action的限制,现在通过Action的包名和类名得到它的访问路径
例如:cn.itcast.action.UserAction,它的访问路径为/user.action
例如:cn.itcast.action.user.UserAction,它的访问路径为/user/user.action。因为在约定包action后面还有一层包user,那么这一层就是名称空间了。
例如:com.action.cn.itcast.user.UserAction,它的访问路径为/cn/itcast/user/user.action。
例如:cn.itcast.action.user.UserListAction, 它的访问路径为/user/user-list.action。当Action名称由多个单词构成,那么在访问路径中使用“-”来连接多个单词。
4 通过Action的限制得到结果页面路径
Struts2约定限制结果页面必须放到/WEB-INF/content/目录中,可以通过下面常量来修改这个限制。
<constant name="struts.convention.result.path" value="/WEB-INF/content/"/>
当cn.itcast.action.UserAction返回结果为success时,Struts会依次查找如下结果页面:
l /WEB-INF/content/user-success.jsp;
l /WEB-INF/content/user-success.html;
l /WEB-INF/content/user.jsp
当cn.itcast.action.user.UserListAction返回的结果为error时,Struts会依次查找如下结果页面:
l /WEB-INF/content/user/user-list-error.jsp;
l /WEB-INF/content/user/user-list-error.html;
l /WEB-INF/content/user/user-list.jsp。
struts2注解的作用的更多相关文章
- Struts2注解使用说明
Struts2注解 1 Struts2注解的作用 使用注解可以用来替换struts.xml配置文件!!! 2 导包 必须导入struts2-convention-plugin-2.3.15.jar包, ...
- Struts2注解 特别注意
1 Struts2注解的作用 使用注解可以用来替换struts.xml配置文件!!! 2 导包 必须导入struts2-convention-plugin-2.3.15.jar包,它在struts2安 ...
- Struts2注解 及 约定优于配置
Struts2注解 1 Struts2注解的作用 使用注解可以用来替换struts.xml配置文件!!! 2 导包 必须导入struts2-convention-plugin-2.3.15.jar包, ...
- struts2注解
一.配置web.xml <filter> <filter-name>struts2</filter-name> <filter-class>org.ap ...
- Struts2注解配置之@Namespace(四)
今天开始学习@Namespace注解. 还是先看一段代码: package com.example.actions; import org.apache.struts2.convention.anno ...
- paip.Java Annotation注解的作用and 使用
paip.Java Annotation注解的作用and 使用 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog. ...
- @ModelAttribute注解的作用
@ModelAttribute注解的作用:1.放在方法上注解不带属性: 方法无返回值: 执行其他方法时,先执行该注解标记方法. 如果方法中有将一些属性放入model的操作,其他方法model中也会共享 ...
- Annotation(四)——Struts2注解开发
Hibernate和Spring框架的开发前边总结了,这次看一下流行的MVC流程框架Struts2的注解开发吧.Struts2主要解决了从JSP到Action上的流程管理,如何进行Uri和action ...
- Struts2注解学习1
这是开博的第一篇,我希望每天把我学到的东西记录下来,成为一个知识库,方便以后的学习和分享 在项目中看到用struts2注解来做,很方便,做了一个用户登录的例子 1.加载所需jar包 commons-f ...
随机推荐
- Linux面试必问-对照目录内容的命令“Diff”具体解释
dir1下有个log_1.log dir2下有个log_2.log 两个文件例如以下: p_ylwu@VM_194_111_sles10_64:/home/jdxochen/exercise> ...
- nodejs websocket 聊天应用
前端一直是一块充满惊喜的土地,不仅是那些富有创造性的页面,还有那些惊赞的效果及不断推出的新技术.像node.js这样的后端开拓者直接将前端人员的能力扩大到了后端.瞬间就有了一统天下的感觉,来往穿梭于前 ...
- [框架安装趟雷指南]Ubuntu+1060+cuda+cudnn+Keras+TH+TF+MXnet
[框架安装趟雷指南]Ubuntu+1060+cuda+cudnn+Keras+TH+TF+MXnet https://zhuanlan.zhihu.com/p/23480983 天清 9 个月前 写这 ...
- SAM4E单片机之旅——6、LED闪烁之按钮控制
现在试试用按钮控制LED灯……让LED在一个按钮按下时亮起:弹起时灭掉. 主要目的是学习GPIO的输入及中断. 一. 电路 图中的J39-n是几个跳线插座,位置在开发板LCD附近,往下进行前要先确保跳 ...
- 关于java的线程
1 java的线程也是一个对象 所以,java线程对象也是由gc销毁的. 2 java线程对象等待被销毁的时机 当java线程执行完run()方法之后就在等待被销毁了,所以要一个线程对象不被销毁唯一的 ...
- go map 线程不安全 安全措施
go map 线程不安全 安全措施
- MD5 字符串问题
早上来工位,大家再聊md5,无意中发现网上有个人提出个问题:研究了一下,挺有意思 有个串,通过各种办法得到的值不完全一样,下面请看细节: 假设这个字符串是 “ssss"我用的第一个办法应该是 ...
- Cisco设备参数总结
Cisco设备参数总结 1.MAC与TCAM的区别:两张表所其作用的环境不同,MAC表是全局表,一般通过全局CPU进程转发需要查看MAC表,但是,现在基本都是硬件快速转发,那么这个时候就生成了CAM表 ...
- SPOJ:D-query(非常规主席树求区间不同数的个数)
Given a sequence of n numbers a1, a2, ..., an and a number of d-queries. A d-query is a pair (i, j) ...
- ubuntu16.04 ROS安转及RVIZ启动
1.软件中心配置 首先打开软件和更新对话框,打开后按照下图进行配置(确保你的"restricted", "universe," 和 "multiver ...