搜索 Action
搜索 Action: 对于 Convention 插件, 它会自动搜索位于 action, actions, struts, struts2 包下的所有 Java 类, Convention 会把如下两种 Java 类当成 Acition 处理
所有实现了 Action 接口的 Java 类
所有类名以 Action 结尾的 Java 类
下面是符合 Conversion 插件的 Action 类:
org.simpleit.actions.LoginAction
org.simpleit.actions.book.Books(Books 实现了 Action 接口)
org.simpleit.action.LoginAction
org.simpleit.struts.action.book.BookAction
org.simpleti.struts2.emp.EmployeeAction
按约定映射命名空间
找到合适的 Action 类之后, Convention 插件会按约定部署这些 Action, 部署 Action 时, actions, action, struts, struts2 包会被映射为根命名空间, 而这些包下的子包则被映射成对应的命名空间:
org.simpleit.actions.LoginAction /
org.simpleit.actions.book.Books(Books 实现了 Action 接口) /book
org.simpleit.action.LoginAction /
org.simpleit.struts.action.book.BookAction /action/book
org.simpleti.struts2.emp.EmployeeAction /emp
按约定映射 Action
Action 的 name 属性(也就是该 Action 所要处理的 URL) 则根据该 Action 的类名映射. 映射 Action 的name 时, 遵循如下规则:
若该 Action 类名包含 Action 后缀, 将该 Action 类名的 Action 后缀去掉. 否则不作任何处理
将 Action 类名的驼峰写法转成中横线 (-) 写法: 所有字母小写, 单词之间使用 – 隔开.
例子:
org.simpleit.actions.LoginAction /login.action
org.simpleit.actions.book.Books(Books 实现了 Action 接口) /book/books
org.simpleit.action.LoginAction /login.action
org.simpleit.struts.action.book.BookAction /action/book/book.action
org.simpleti.struts2.emp.EmployeeAction /emp/employee.action
按约定映射 Result
默认情况下, Convention 总会到 WEB 应用的 WEB-INF/content 路径下定位物理资源, 定位资源的约定是: actionUrl + resultCode suffix. 当某个逻辑视图找不到对应的视图资源时, Conversion 会自动试图使用 actionUrl 作为物理资源.
例子:
org.simpleit.actions.LoginAction /WEB-INF/content/login.jsp 或 login-success.jsp
org.simpleit.actions.book.Books(Books 实现了 Action 接口) /WEB-INF/content/book/books-success.jsp 或 books.jsp
org.simpleit.struts.action.book.BookAction /WEB-INF/action/book/book-success.jsp 或 book.jsp
org.simpleti.struts2.emp.EmployeeAction /WEB-INF/content/emp/employee-success.jsp 或 employee.jsp
Action 链的约定
如果希望一个 Action 处理结束后不是进入视图页面, 而是进行另一个 Action 形成 Action 链. 通过 Conversion 插件则只需遵守如下三个约定即可.
第一个 Action 返回的逻辑视图字符串没有对应的视图资源
第二个 Action 与第一个 Action 处于用一个包下
第二个 Action 映射的 URL 为: firstActionUrl + resultCode。
相关推荐
STRUTS2 Convention 零配置是Struts2框架中的一种高级特性,旨在简化应用程序的配置,让开发者能够更快地构建MVC应用。从Struts2.1版本开始,推荐使用Convention插件替代Codebehind插件,因为它更加自动化,几乎无需...
"MyFramework - Struts2 零配置:convention" 主题着重于介绍如何使用Struts2的Convention插件实现“零配置”开发,极大地简化了传统XML配置的繁琐过程。在传统的Struts2应用中,开发者需要为每个Action类和结果页面...
Struts2.1引入了Convention Plugin,以实现框架的零配置目标,替代之前的Codebehind Plugin。这个插件通过约定优于配置的原则简化了Struts2的应用开发,减少了XML配置文件的需求。以下是对Convention Plugin主要特性...
Struts2 Convention插件提供了一种全新的、更为简洁的零配置方式,它通过约定而非配置的方式来管理Action及其结果视图,大大简化了Struts2应用的开发流程。通过上述配置和使用方法,开发者可以更高效地构建Web应用...
`Convetion`插件是Struts2实现零配置的核心工具,它基于“约定优于配置”的原则工作。 ### 1. Convention 插件简介 从Struts2.1版本开始,`Codebehind`插件被`Convetion`插件取代,以提供更全面的零配置支持。`...
在Struts2的某个版本之后,引入了一项名为`convention-plugin`的新特性,旨在简化配置过程,实现所谓的“零配置”开发。这个插件允许开发者通过约定而非显式配置来设置Action类、结果页面等,从而减少了XML配置文件...
为了简化配置过程,Struts2提供了一个名为Convention插件的功能,它允许用户按照一定的约定来组织代码和配置,从而减少甚至消除XML配置文件的需求。 - **默认行为**:Convention插件默认将所有结果页面存储在`WEB-...
Struts2 约定优于配置 Struts2 框架中,有一个非常重要的概念,即...Struts2 的约定优于配置可以通过 Convention 插件来实现 Action 路径到 Result 页面路径的自动映射。这个机制可以减少配置的必要性,提高开发效率。
Convention是Struts2的一个特性,它允许开发者通过遵循一定的命名约定,减少XML配置文件的编写。例如,Action类名通常与URL路径相对应,无需在配置文件中手动映射。然而,即使使用Convention,仍然有一些常量可以...
Convention插件是Struts2提供的一种自动化配置方式,它旨在减少XML配置文件的数量,提高开发效率。这篇详尽的指南将深入讲解Struts2的Convention配置,让你更好地理解和应用这一特性。 首先,了解什么是Conventions...
这个特性是通过Struts2的约定优于配置(Convention Over Configuration)插件实现的。该插件基于一系列预设规则自动解析项目结构,从而推断Action、结果类型以及其他相关配置。 **Struts2 Convention Plugin中文...
Struts2的Convention插件是一种自动化配置工具,从2.1版本开始引入,旨在减少XML配置,实现Struts2应用的零配置或者最少配置。该插件通过一系列预定义的命名规则和约定,自动解析和映射Action、结果页面、拦截器等...
在Struts2框架中,"Convention"插件是其核心组件之一,它引入了一种基于约定优于配置(Convention over Configuration)的开发模式,极大地简化了应用的配置过程。这种模式使得开发者无需编写大量的XML配置文件,...
Struts2是一款流行的Java web开发框架,其零配置特性始于版本2.1,主要通过引入Convention插件实现。Convention插件旨在简化应用配置,避免过度依赖XML或注解,通过预定义的规则自动配置Action、结果视图以及Action...
在Struts2框架中,Convention-Plugin是一项重要的功能,它允许开发者通过约定而非配置的方式快速搭建Web应用。 #### Convention-Plugin原理及实现 ##### 1. Convention-Plugin概述 在传统的Struts2项目中,开发...
Convention Plugin是Struts2为了简化应用程序的配置而设计的,它的核心理念是“约定优于配置”。通过约定,开发者可以避免编写大量的XML配置文件,从而提高开发效率。默认情况下,该插件会自动根据类名、方法名、...
2. **struts2-convention-plugin**:这个插件实现了零配置功能,它根据约定优于配置的原则,自动为Action类、方法、结果页面等创建映射。例如,Action类名通常与URL路径对应,方法名则对应HTTP请求方法。 3. **...