下面是我知道的几个Convention插件的几个配置属性:
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类执行完毕以后返回资源的结果路径
当你在浏览器中输入: ,Struts会自动的找到并执行com.ZTest.web.action.HelloWorldAction.java类,并放回到WEB-INF/ruiri/HelloWorld.jsp。
当你在浏览器中输入: ,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
详细讲解一下这个属性,因为我刚开始的时候被这个属性搞晕了,希望我的解释能帮助和我有过同样疑问的友人。
例如:我们有这样一些类:
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
区别:
确定搜索包的路径。只要是结尾为action的包都要搜索。
struts.convention.package.locators.disable=false
struts.convention.package.locators.basePackage=com.xxx.web.action
locators及locators.basePackage都是一组以逗号分割的字符串。
相关推荐
通过以上步骤,开发者可以在Struts2.1.6环境中实现基于Convention的零配置JSON支持,极大地提高了开发效率。然而,虽然零配置简化了开发,但当需求复杂时,可能仍需自定义配置以满足特定要求。因此,理解并灵活运用...
3. **插件和支持库**: Struts2还提供了一系列插件,如 strut2-convention-plugin、struts2-json-plugin 等,它们扩展了框架的功能,例如自动配置、JSON响应等。这些插件的jar包也可能存在于lib目录下,以支持特定的...
与之前的Codebehind插件不同,Convention插件更加彻底地摆脱了对配置文件的需求,包括struts.xml以及Annotation等传统配置方式,通过约定而非配置的方式自动完成框架的配置工作。 ### Convention 插件特性详解 ###...
- `struts2-convention-plugin.jar`:约定优于配置插件,简化了Action和结果的配置,通过类名和方法名自动匹配Action和结果。 - `struts2-json-plugin.jar`:JSON插件,支持JSON数据格式的输入和输出,方便前后端...
为了更好地利用Struts2.1.6,开发者还需要了解如何编写Action类、配置Action映射、创建视图模板,以及如何利用拦截器增强应用的功能。同时,理解MVC设计模式以及如何与Spring、Hibernate等其他框架集成也是必不可少...
2. **插件**:Struts2支持许多插件,例如struts2-convention-plugin.jar用于自动配置,struts2-json-plugin.jar用于JSON数据的处理,struts2-dojo-plugin.jar提供了与Dojo JavaScript库的集成,这些插件可以根据项目...
总之,Struts2.1.6版本是一个简洁但功能强大的Web开发框架,它通过灵活的配置和强大的插件体系,为开发者提供了高效、便捷的Java Web应用开发工具。在实际项目中,开发者可以根据需求选择合适的配置方式和扩展插件,...
Struts2.1.6是Apache Struts框架的一个版本,它是Java EE(企业版)应用程序开发中的一个流行MVC(模型-视图-控制器)框架。这个版本的Struts提供了许多功能,帮助开发者构建可维护、可扩展且结构良好的Web应用。在...
Struts2.1.6-all.zip 是一个包含Struts2框架版本2.1.6所有库文件的压缩包,主要用于Java Web开发。Struts2是一个开源的MVC(Model-View-Controller)框架,它继承了经典的Struts1框架,并在功能、性能和灵活性上进行...
2. **插件**:Struts 2支持许多插件来扩展其功能,如struts2-convention-plugin.jar用于自动配置Action,struts2-dojo-plugin.jar提供了与Dojo JavaScript库的集成,struts2-json-plugin.jar则支持JSON响应。...
在Struts2.1.6中,这通常通过`struts.xml`配置文件来实现。 3. **Interceptor**:拦截器是Struts2中的一个重要概念,它们在Action执行前后执行一些预处理或后处理任务,如日志记录、权限验证等。开发者可以自定义...
2. **插件**:可能包含如struts2-convention-plugin.jar、struts2-json-plugin.jar等,它们提供了额外的功能,比如自动映射、JSON支持等。 3. **依赖库**:可能包含ognl.jar、freemarker.jar、xwork-core.jar等,...
5. **struts2-convention-plugin.jar**:这个插件提供了基于约定优于配置(Convention over Configuration)的特性,使得开发者无需编写大量XML配置文件,只需按照一定的命名规则组织类和方法,Struts2就能自动识别...
使用Struts2.1.6时,开发者需要根据项目需求选择合适的jar包和插件,并结合Struts2的配置文件(通常为struts.xml)进行应用的搭建和定制。此外,Struts2的安全性也是需要注意的一点,比如它曾出现过一个著名的远程...
- **struts2-convention-plugin.jar**: 提供了自动Action映射和插件管理功能,使得无需显式配置Action类和结果,而是遵循一定的命名规则。 - **struts2-config-browser-plugin.jar**: 提供了一个Web界面,可以浏览...
9. **插件系统**:Struts 2具有丰富的插件库,例如Struts2-dojo-plugin用于集成Dojo JavaScript库,Struts2-convention-plugin简化了配置过程。 10. **最佳实践**:在实际开发中,我们需要遵循一些最佳实践,如合理...
7. **Struts2的插件**:Struts2具有丰富的插件体系,如Struts2-dojo-plugin提供Dojo JavaScript库的支持,Struts2-convention-plugin简化了Action的配置,还有Struts2-json-plugin用于JSON数据的处理。 8. **Tiles*...
另外三大框架的添加顺序也需要注意下,我的添加顺序是 struts2.1.6、spring2.0、hibernate3.2 spring版本差异(包方面)没有研究过,大致雷同,也应该保持版本一致,即在同一个稳定发行包中下载的包。 以下包后面跟...
首先,要启用Convention插件,你需要在项目的WEB-INF/lib目录下添加struts-Convention-plugin-2.1.6.jar文件。然后,框架会自动扫描特定包下的Java类,寻找符合Action条件的类。这些条件包括实现了`...