admin 管理员组

文章数量: 887021


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应用配置如下两个常量就可以了。

本文标签: 指定 视图 资源 属性 用于

更多相关文章

Eplan P8 2.7 win7win10 安装(附带资源链接)已更新链接_20210617

3月前

[db:摘要]

探索Armbian Linux构建框架:为低资源硬件定制的强大工具

3月前

[db:摘要]

【网路安全 --- win2003安装】 windows server 2003 详细安装过程(提供镜像资源)

3月前

[db:摘要]

office哪个版本最好用、占用资源最少?

3月前

[db:摘要]

SqlServer2012下载和安装(资源自带密钥)

3月前

[db:摘要]

基于android的资源文件管理器

3月前

[db:摘要]

linux退出文件夹视图,Linux-文件管理-文件操作命令02

3月前

[db:摘要]

ChatGPT 中文指南,ChatGPT 中文调教指南,指令指南,应用开发指南,精选资源清单

3月前

ChatGPT 中文指南,ChatGPT 中文调教指南,指令指南,应用开发指南,精选资源清单 文章目录 ChatGPT 中文指南,

win10系统Windows 资源保护无法启动修复服务该如何解决?

3月前

win7系统Windows 资源保护无法启动修复服务该如何解决?当我们的操作系统出现问题,系统错误,缺少系统文件等情况,我们通常可以使用“sfc sc

win7 windows7资源管理器左右视图同步联动设置.

3月前

win7做的真恶心. 这么好的功能怎么默认是不启动呢? 就是我在右面的视图点进去一个文件, 左边的目录树视图是不会有更改的. (XP是左右视图同步联动的.) 计算机->组织->文件夹和搜索选项->常规选项卡->导航

提取Windows中系统自带的图标资源

3月前

写应用程序,如果想使用Windows下的图标,可以使用Visual Studio中的图标,比如VS2008的ImageLibrary(笔者已经打包上传到

视频资源网站采集-视频资源API采集教程

2月前

视频资源采集,怎么批量采集视频资源,视频资源网怎么批量采集。今天给大家分享一款视频资源采集软件只需要输入域名或者输入关键词自动采集视频。支持导出,支持采集视频URL链接&am

win10 *** ipv4属性无法查看

2月前

解决方案 http:answers.microsoftzh-hanswindowsforumwindows_10-networking%E5%85%B3%E4%BA%8Ewindows-10fe1e3746-9d9a-442

电脑无法查看计算机属性,我的电脑属性打不开怎么办

2月前

我的电脑属性打不开怎么办 我们在对电脑进行一些设置或者我们要查看电脑的设置,我们都可以从我的电脑属性中查看。那么我的电脑属性打不开怎么办呢?下面就让小编为大家介绍一下我的电脑属性打不开的.解决办法吧&#xff0

国外资源下载速度太慢怎么办

2月前

镜像走一波 目前只收集了淘宝镜像:链接 其余待收集

微服务的接入层设计与动静资源隔离

2月前

本文转载自网易云架构师刘超的个人公众号。 一、数据中心之外:DNS,HttpDNS,GSLB二、数据中心之外:CDN三、数据中心边界与核心&#x

IT相关资源的网站

2月前

2.第八军团技术论坛开放注册http:bbs.juntuanindex.php3中天论坛http:bbs.366tianindex.php4.CSDN: http:www.csdn    中国最大的开

U盘 移动硬盘提示格式化 怎么办 属性为0字节了 文件格式变RAW了

2月前

U盘 移动硬盘提示格式化 怎么办 属性为0字节了 文件格式变RAW了 你是否遇到过关于文件,U盘,移动硬盘等属性常出现莫名的扩大缩小问题,本来是4G的U盘,结果显示十多个G,有时 显示为0字节的情况,就算点击右键也还是提示“是否需要

Python基础教程第二版 9:魔法方法,属性,迭代器(未完)...

1月前

ChatGPT资源合集

12天前

ChatGPT资源合集 【下载地址】万字干货ChatGPT的工作原理-2023-107页.pdf 本仓库汇集了关于ChatGPT的多种资源文件,涵盖了其工作原理、优化提示词、应用案例、赚钱方法等多个方面。这些资源旨在帮

发表评论

全部评论 0
暂无评论