admin 管理员组文章数量: 1086019
2023年12月23日发(作者:关系的性质)
从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用文件进行配置,甚至不需要使用Annotation进行配置,而是由struts2根据约定自动配置。
如何使用Convention
1. 将文件复制到WEB-INF/lib路径下
2. 对于Convention插件而言,它会自动搜索位于action,actions,struts,struts2包下的所有java类,Convention插件会把如下两种java类当成Action处理:
1) 所有实现了的java类
2) 所有类名以Action结尾的java类
3. Convention插件还允许设置如下三个常量:
1) s:指定不扫描哪些包下的java类,位于这些包结构下的java类将不会自动映射成Action;
2) rs:Convention插件使用该常量指定的包作为搜寻Action的根包。对于ction类,按约定原本应映射到/fore/login;如果将该常量设为fore,则该Action将会映射到/login
3) es:Convention插件以该常量指定包作为根包来搜索Action类。Convention插件除了扫描action,actions,struts,struts2四个包的类以外,还会扫描该常量指定的一个或多个包,Convention会试图从中发现Action类。
注意:rs和es两个常量的作用比较微妙,开发者在利用这两个常量时务必小心。
如:下面Action所在包被映射的命名空间如下:
ction 映射到 /
oAction 映射到 /myoffice
oAction 映射到 /myofiice
4. 映射Action的name时,遵循如下两步规则:
1) 如果该Action类名包含Action后缀,将该Action类名的Action后缀去掉。否则不做任何处理。
2) 将Action类名的驼峰写法(每个单词首字母大写、其他字母小写的写法)转成中画线写法(所有字母小写,单词与单词之间以中画线隔开)
如:LoginAction映射的Acion的name属性为login,GetBooks映射的Action的name的属性为get-books,AddEmployeeAction映射的Action的name属性为add-employee
5. 默认情况下。Convention总会到WEB应用的WEB-INF/content路径下定位物理资源,定位资源的约定是:actionRUL+resultCODE+suffix。当某个逻辑视图找不到对应的试图资源时,Convention会自动视图使用ActionURL+suffix作为物理视图资源。
如:ction 返回success字符串时,Convention优先考虑使用WEB-INF/content/fore目录下的作为视图资源。如果找不到该文件,也可作为对应的试图资源。如果返回input字符串,Convention会将WEB-INF/content/fore里面查找
6. 为了看到struts2应用里的Action等各种资源的影射情况,struts2提供了Config Browser插件。使用方法,将文件复制到struts2应用的WEB-INFlib目录中。
打开首页地址:localhost:8080/应用名字/config-browser/这里可以看到Config
Browser插件的首页。
注意:这里不管开发者是否使用文件进行配置,一样可以看到struts的配置信息。
链的约定
如果希望一个Action处理结束后不是进入一个试图页面,而是进行另一个Action形成的Action链。通过Convention插件则只需遵守如下三个约定即可。
1) 第一个Action返回的逻辑视图字符串没有对应的视图资源
2) 第二个Action与第一个Action处在同一个包下
3) 第二个Action影射的URL为:firstActionURL+resultCODE
如,第一个Action为OneAction,里面有个方法返回为“two”,那么就得保证,WEB-INF/content/下没有或 对于第二个action 它的名字应该是OneTwoAction,而对应的url应该是:“”
注意:由于Convention插件根据Action和jsp页面来动态生成映射的,因此不管是Acion的改变,还是JSP页面的改变都需要Convention插件重新加载映射。那么只要我们为struts2应用配置如下两个常量就可以了。
版权声明:本文标题:struts2注解使用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1703304146a446173.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
更多相关文章
训练ChatGPT的必备资源:语料、模型和代码库完全指南
文|python 前言 近期,ChatGPT成为了全网热议的话题。ChatGPT是一种基于大规模语言模型技术(LLM, large language m
MSDN,好一个资源站
首先:被封面或标题唬进来的,扣1。 其次:顺便吐槽下公众号这个封面图片截取工具,太反人类设计了吧!源图就不能让缩放一diudiu&
有哪些免费的软件资源分享网站,软件资源网站大全导航
有时候我们电脑需要安装某个软件,想找破解版本,但经常搜索出来不是广告就是一些垃圾软件下载站,安装后经常会被捆绑安装各种流氓软件,而且有时候你安装好后发现
win7计算机属性恢复,win7怎么打开系统还原功能?win7打开系统还原功能的方法步骤...
运行雨林木风win7旗舰版64位系统经常会碰到一些棘手难以解决的问题,大家首先想到就是重装系统,其实不必那么麻烦,win7系统自带有系统还原功能,我们可
ubuntu中查看各种设备和资源的常用命令
一、系统信息 1.查看内核信息: $ uname -a 2.查看操作系统版本:
GitHub大模型优质资源整理
LLM从入门到精通的开源课程 地址 GitHub - mlabonnellm-course: Course to get into Large Language Models (LLMs) with roadmaps and Cola
SpringBoot中属性注入失败的问题Consider defining a bean of type ‘’’ in your configuration
记一个SpringBoot中属性注入失败的问题Consider defining a bean of type ‘’’ in your configuration 今天遇到的一个问题: 代码检查了好几次&#x
ZYNQ_PS读写PL资源
ZYNQ_PS读写PL资源_base_on_pynqZ2 前言AXI总线寄存器模块硬件连接软件设计总结 前言 最近比较系统的学习了zynq,内容还是很多的,不过它的架构我还是很熟悉的&#
磁盘驱动器中的属性中的卷没有信息怎么办?出现找不到这个磁盘的卷信息
前提:电脑中的硬盘和插入的U盘并没有出现什么问题,都是正常可使用的。 原因1: 没有点击“写入” 注意:如果你没有给硬盘分区的话,
CSDN下载资源 积分不够怎么办?
CSDN资源下载都要积分, 购买积分又有最低要求, 太贵了, 有什么好办法?
unity资源商店出现“抱歉,此链接不再有效”怎么办
首先,返回资源商店首页,登录自己的账号就可以了
高效资源获取:2024年职场人士推荐网盘搜索引擎
随着数字化时代的到来,网盘搜索引擎已成为我们获取信息的重要工具。以下是2024年精选的六大网盘搜索引擎,它们以其高效、全面和用户友好的特点,成为资源搜索的佼佼者。 精选网盘搜
5个超厉害的资源搜索网站,每一款都可以让你的资源满满!
生活中我们无时不刻不都要在网站搜索资源,但就是缺少一个趁手的资源搜索网站,如果有一个比较好的资源搜索网站可以帮助我们节省一大半时间!今天小编在这里为大家分享5款超厉害的资源搜
python爬虫项目(十三):爬取各类网盘的资源链接,搭建资源搜索平台
引言 随着信息时代的发展,网盘作为一种重要的数据存储和分享工具,越来越受到用户的青睐。通过爬取各类网盘的资源链接并搭建一个资源搜索平台,可以为用户提供便捷的资源查找服务。本文将介绍如何爬取网盘资源、存储数据并搭建搜索平台的完整流程。 目
分享(转载)跟大家分享一下牛人常用的资源类,供大家参考、学习。
一、常用的资源类网站 西林街 http:www.xilinjie 胖次 http:www.panc 爱挖盘 http:www.iwapan 呆木瓜 http:www.daimugua 吸盘 h
国外资源转战国内源下载
es: ElasticSearch: https:mirrors.huaweicloudelasticsearch?CN&OD logstash: https:mirrors.huaweiclou
YuanDaiMa2048博客资源空间
欢迎来到 YuanDaiMa2048 的学习空间! 在这里,会不定期更新自己学习中遇到的问题、解决方案以及学习笔记,涵盖了从基础知识到前沿技术的各类主题。希望这些内容能为您提
网上下载的资源是压缩包文件,有密码怎么办?
我们在网上下载的资源经常是以压缩包文件下载下来的,但是解压的时候发现需要密码才能继续解压压缩包文件,遇到这种情况,我们可以尝试输入下载平台的网址作为密码进行尝试。也可以尝试一
css属性值无效,属性在浏览器控制台以黄色感叹号显示怎么办?
css属性值无效 ,属性在浏览器控制台以黄色感叹号怎么办? 遇到这种情况大多数是由于属性的大小写不规范导致的 比如在标签中直接写样式,那么一般是驼峰命名属性值,如下 <
手机之家签名工具_魔力签 v1.3已更新内置资源&amp;越狱工具
魔力签 v1.3 (最新版本已更新内置资源应用下载) 新版应用签名工具( 魔力签 )一款免费IOS端签名工具,可签名任何应用在手机端安装内测应用。摆脱电脑繁琐操作,开发者可利用此工具发送应用给员工
发表评论