<转>struts2中Convention中的basePackage与locators配置种种
用了Convention插件来实现所谓的0配置,
1.
struts.convention.package.locators.basePackage=com.ZTest.web.action
这个属性用于约定Action 类的根包(这个包是Java
类的包,而不是Struts.xml中配置的<package>节点)
例如:
在一个项目中有这样一系列的Java 包,那么当指定convention的这个属性,Struts
框架就会在你访问特定的URL时会自动的找到所要的请求的实现类。
当你在浏览器中输入: http://localhost:8080/HelloWorld.action
,Struts会自动的找到并执行com.ZTest.web.action.HelloWorldAction.java类。
当你在浏览器中输入: http://localhost:8080/test/aaa.action
,Struts会自动的找到并执行com.ZTest.web.action.test.aaaAction.java类。
2.
struts.convention.result.path=/WEB-INF/ruiri
这个属性用于约定Action类执行完毕以后返回资源的结果路径,###必须以 "/"
开头,
例如:
当你在浏览器中输入: http://localhost:8080/HelloWorld.action
,Struts会自动的找到并执行com.ZTest.web.action.HelloWorldAction.java类,并放回到WEB-INF/ruiri/HelloWorld.jsp。
当你在浏览器中输入: http://localhost:8080/test/aaa.action
,Struts会自动的找到并执行com.ZTest.web.action.test.aaaAction.java类,
,并放回到WEB-INF/ruiri/test/HelloWorld.jsp 。
3.
struts.convention.action.name.lowercase=false
###是否将Action类转换成小写
当一个类的类名是多个单词组合起来的时候,例如
HelloWolrdAction,如果指定了这个属性,则访问的地址必须是:
HelloWorld.action ,如果不是指定这个属性则是:
helloworld.action
4.
struts.convention.action.name.separator=
这个属性是约定当一个Java 类
有多个单词组合成的时候,映射的URL地址的时候访问的格式的分隔符。
如果不指定这个属性,Struts默认的分隔符是 “-”,例如 HelloWorldAction 则访问的URL
是Hello-World.action
如果指定这个属性是上面的格式,则是没有分隔符,会按照Java 类名直接映射,例如 HelloWorldAction 则访问的URL
是HelloWorld.action
5
struts.convention.default.parent.package=default
这个属性指定的是Strtus.xml中配置的
<package>节点的父节点。(有什么用?可能就是用于定义全局的Result
吧,这个本人也没深入的研究过)
6
struts.convention.package.locators=action
确定搜索包的路径。只要是结尾为action的包都要搜索。
详细讲解一下这个属性,因为我刚开始的时候被这个属性搞晕了,希望我的解释能帮助和我有过同样疑问的友人。
例如:我们有这样一些类:
com.ZTest.web.action.AAAAAction
com.Ztest.web.action.BBBBAction
com.Ztest.web.action.test/CCCCAction
com.Ztest.web.action.test/DDDDAction
com.Ztest.web.action.test/first/EEEEAction
com.Ztest.web.action.test/first/FFFFAction
如果,我设置这个属性的值为 action 那么 我们访问这几个类得URL就是
http://localhost:8080/ZTest/AAAA.action
http://localhost:8080/ZTest/BBBB.action
http://localhost:8080/ZTest/test/CCCC.action
http://localhost:8080/ZTest/test/DDDD.action
http://localhost:8080/ZTest/test/first/EEEE.action
http://localhost:8080/ZTest/test/first/FFFF.action
而每个URL对应的资源文件必须是下面的格式:(按照本文中的result.path配置的结果)
/WEB-INF/ruiri/AAAA.jsp
/WEB-INF/ruiri/BBBB.jsp
/WEB-INF/ruiri/test/CCCC.jsp
/WEB-INF/ruiri/test/DDDD.jsp
/WEB-INF/ruiri/test/first/EEEE.jsp
/WEB-INF/ruiri/test/first/FFFF.jsp
也就是说:
struts.convention.package.locators=action
就是相当于下面的解释
类路径
命名空间(struts.xml中配置的<package>节点)
com.ZTest.web.action.AAAAAction
->
/
com.ZTest.web.action.test.CCCCAction
->
/test
com.ZTest.web.action.test.first.EEEEAction
->
/test/first
当然对应的资源的文件路径就是:
/WEB-INF/ruiri/AAAA.jsp
/WEB-INF/ruiri/test/CCCC.jsp
/WEB-INF/ruiri/test/first/EEEE.jsp
区别:
struts.convention.package.locators=action
确定搜索包的路径。只要是结尾为action的包都要搜索。
struts.convention.package.locators.disable=false
struts.convention.package.locators.basePackage=com.xxx.web.action
basePackage按照默认不用配置,如果配置,只会找以此配置开头的包。
locators及locators.basePackage都是一组以逗号分割的字符串。
<转>struts2中Convention中的basePackage与locators配置种种的更多相关文章
- 在struts2的action中操作域对象(request、session)
在struts2的Action中,操作域对象一共有三种方式: 1.ActionContext(与servelt API无关联): //相当于request ActionContext.getConte ...
- Struts2之配置文件中Action的详细配置(续)
承接上一篇 4.处理结果的配置 Action类的实例对象调用某个方法,处理完用户请求之后,将返回一个逻辑视图名的字符串.核心Filter收到返回的逻辑视图名字符串,根据struts.xml中的逻辑视图 ...
- Struts2之配置文件中Action的详细配置
在Struts2之配置一文中,我们知道一个struts配置文件可以分为三部分:常量配置 包含其他配置文件的配置 Action配置 . 这其中 常量配置 和 包含其他配置文件的配置 二 ...
- 软件架构设计学习总结(18):MVC三层架构在各框架(jsp+servlet + Struts1+ Struts2+ springMVC)中的特征
1.基于web开发中最原始的jsp+Servlet 图形化理解jsp+servlet结构: 1.从结构上分析jsp+servlet图解原理: 在基于mvc设计模式下的最原始的jsp+Servlet ...
- Struts2的配置文件中, <package>的作用,<action><result>重名?
问:Struts2的配置文件中, <package>的作用是什么? 答:防止action重名啊,例如前台和后台,总会有很多地方起名重复的! 问:可是访问的时候,不也是访问action吗,能 ...
- Struts2页面开发中常用标签使用说明
1. Struts2页面开发中常用标签使用说明 1.1.往action里传值的使用方式: <input name="userName" type="text&quo ...
- struts2 - View页面中获取Action的成员变量
struts2 - View页面中获取Action的成员变量 2016年03月02日 11:04:44 IT男青年 阅读数:1074 View页面中获取Action的成员变量 按照Struts的设 ...
- JavaWeb_(Struts2框架)Action中struts-default下result的各种转发类型
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...
- struts2基于Convention插件的约定映射使用
一.首先说明一点:所谓的基于Convention插件的约定优于配置的使用,并不是严格意义上的零配置,struts.xml文件并不能完全舍弃. 获得Convention插件功能,所必需的jar包有:|a ...
随机推荐
- python学习day3--python基础
1.python不用声明变量的类型,运行时python自己进行判断 2.尽量不要用“+”去拼接字符串,运行时会每遇到一个“+”就开辟一块内存空间,使用如下方式进行字符串的拼接. msg=''' inf ...
- Contoso 大学 - 10 - 高级 EF 应用场景
原文 Contoso 大学 - 10 - 高级 EF 应用场景 By Tom Dykstra, Tom Dykstra is a Senior Programming Writer on Micros ...
- WF4.0 基础篇 (十八) Flowchar
本节主要介绍WF4 中 Flowchart的使用 本文例子下载: http://files.cnblogs.com/foundation/FlowcharSample.rar 本文例子说明 Flowc ...
- ZStack之ZDApp_Init解析
[注:本文源自博客园http://www.cnblogs.com/cherishui/,为尊重劳动者成果,如需转载请保留此行] 以下代码分析基于ZStack-CC2530-2.5.1a,开发环境为 I ...
- 值初始化-new
程序如下#include<iostream>using namespace std; int main(){ int *a=new int(1); int *b ...
- Linux C 程序 获取目录信息(16)
4.获取当前目录getcwd 会将当前工作目录绝对路径复制到参数buf所指的内存空间5.设置工作目录chdir6.获取目录信息opendir打开一个目录readdir读取目录中的内容 读取目录项信息 ...
- jQuery Mobile里xxx怎么用呀?(集成篇)
jQuery Mobile如何使用GA(Google Analytics)? 什么是GA: http://baike.baidu.com/view/34729.htm http://www.googl ...
- 获取客户端访问的ip地址
function real_ip() { static $realip = NULL; if ($realip !== NULL) { return $realip; } if (isset($_SE ...
- discuz论坛X3升级时 文件下载出现问题,请查看您的服务器网络以及data目录是否有写权限
discuz论坛2.5升级X3时候, 在线升级一半提示: 文件 static/image/postbg/3.jpg 下载出现问题,请查看您的服务器网络以及data目录是否有写权限,请确认无误后点击确定 ...
- HTMLEncode httpencode UTF8Encode
1.引用单元: httpApp; 2. 对于 http Post的提交内容,应该是: HttpEncode(Utf8Encode(StrValue)); 不然与web方式的 Url_enco ...