Struts2零配置实践:使用convention-plugin
需积分: 10 91 浏览量
更新于2024-09-25
收藏 28KB DOCX 举报
"struts2采用convention-plugin实现零配置"
Struts2的Convention插件是其新特性之一,旨在简化开发流程,通过约定优于配置的原则,减少甚至避免传统的XML配置文件。这一变化使得开发者不再需要在每个Action类上手动编写对应的配置项,而是通过预设的规则自动匹配Action和视图。
1. 结果页面路径
默认情况下,所有结果页面(Result Pages)存放于`WEB-INF/content`目录下。开发者可以通过设置`struts.convention.result.path`属性来自定义结果页面的路径。例如,若要将结果页面路径改为`WEB-INF/page`,可以在配置文件中添加如下行:
```xml
<constant name="struts.convention.result.path" value="/WEB-INF/page"/>
```
2. Action搜索路径
Convention插件会自动搜索包含`action`、`actions`、`struts`或`struts2`的包路径来查找Action类。如果想更改这个行为,可以使用`struts.convention.package.locators`属性。比如,设定只有包含`web`和`action`的包路径被视为Action存在,配置如下:
```xml
<constant name="struts.convention.package.locators" value="web,action"/>
```
这样,`com.ustb.web.*/com.ustb.action.*`这样的包路径就会被识别为包含Action类的路径。
3. Action命名和映射
Convention插件基于类名来决定Action的名称。通常,类名为`HelloWorldAction`的Action,其默认的Action名称为`hello-world`。可以通过`struts.convention.default.action.name`属性进行调整。此外,Action方法默认与HTTP请求方法(GET、POST等)匹配,但也可以通过注解来指定特定方法处理特定请求。
4. 结果类型和视图解析
结果类型(Result Type)通常是`dispatcher`,用于转发到JSP或其他资源。默认视图解析是基于Action名称,如`hello-world`Action的默认结果页面是`hello-world.jsp`或`hello-world.ftl`。可以使用注解`@Result`来覆盖默认设置。
5. 拦截器栈
Convention插件会自动应用默认的拦截器栈,但可以通过注解或配置文件来添加或调整拦截器顺序。
6. 异常处理
对于未捕获的异常,Conventions插件提供了默认的错误页面处理。开发者可以通过`struts.convention.action.mapAllActions`属性控制是否将所有Action映射到异常处理。
7. 注解增强
Convention插件支持使用注解来进一步定制Action的行为,例如`@ParentPackage`定义Action的父包,`@Namespace`指定命名空间,`@Result`定义结果,`@Action`定义Action的详细属性等。
通过以上这些约定,Struts2 Convention插件极大地简化了开发流程,减少了XML配置文件的维护工作,提高了开发效率。然而,虽然减少了配置,但并不意味着完全没有配置。在某些复杂场景下,开发者仍可能需要自定义配置来满足特定需求。因此,理解并熟练掌握这些约定,对于充分利用Struts2 Convention插件至关重要。
2015-05-28 上传
2019-03-17 上传
2010-05-25 上传
102 浏览量
2018-05-21 上传
2017-08-02 上传
我嘞个去
- 粉丝: 111
- 资源: 8
最新资源
- vue-element-Admin-demo:vue-element-Admin框架源代码
- SCOPE:用于在 SEER 中重新编码死因 (COD) 的实用程序:此 SCOPE 实用程序用于重新编码 SEER 中观察到的死亡变量的死因。-matlab开发
- [上传下载]Labs.net.cn简单图片上传系统 Beta1_upload.rar
- JunioResende
- 捐赠网络应用
- xyzsh:交互式外壳和文本处理工具
- Pingle:Web Ping工具,Web工具,Ping,站点-开源
- th2wc-blueprints:从 ThemeHybrid 和 WooCommerce 轻松开始使用主题的蓝图
- sourcecode-write:每2周对一个热门的前端框架进行源码分析,并画出思维导图
- 如何静音来电铃声
- 安卓幻影WIFI_3.0 适配安卓8.0以上.txt打包整理.zip
- A_star_Udacity:Udacity的A *任务1
- hash_tree,怎样阅读c语言源码,c语言
- 仿健客网手机wap药店网站模板_网站开发模板含源代码(css+html+js+图样).zip
- SCOPE:计算阳性淋巴结百分比的实用程序:该程序删除检查的淋巴结为零的病例并计算阳性 LN 密度。-matlab开发
- redux-ts:react + redux +打字稿