转载(http://blog.sina.com.cn/s/blog_82faefb001010t59.html)
通配符映射: 一个 Web 应用可能有成百上千个 action 声明. 可以利用 struts 提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系通配符映射规则
1、若找到多个匹配, 没有通配符的那个将胜出
2、若指定的动作不存在, Struts 将会尝试把这个 URI 与任何一个包含着通配符 * 的动作名及进行匹配
3、若 Struts 找到的带有通配符的匹配不止一个, 最后一个匹配将胜出 被通配符匹配到的 URI 字符串的子串可以用 {1}, {2} 来引用. {1} 匹配第一个子串, {2} 匹配第二个子串… {0} 匹配整个 URI * 可以匹配零个或多个字符, 但不包括 / 字符. 如果想把 / 字符包括在内, 需要使用 **. 如果需要对某个字符进行转义, 需要用 \.
示例:
1、不同的action name 不同的action class 相同的action method 不同的result
<!-- <a href="${pageContext.request.contextPath}/pattern/BookAction_add.action"> 图书</a><br>
<a href="${pageContext.request.contextPath}/pattern/UserAction_add.action">用户</a><br>
-->
<action name="*_add" class="cn.itcast.struts2.pattern.{1}">
<result name="success" type="dispatcher">
<param name="location">/pattern/{1}.jsp</param>
</result>
</action>
--------------------------------------------------------------------------------------------------------------------
2、相同的action name 相同的action class 不同的action method 相同的result
<!--
<a href="${pageContext.request.contextPath}/pattern/BookAction_add.action">图书添加</a><br>
<a href="${pageContext.request.contextPath}/pattern/BookAction_delete.action">图书删除</a><br>
-->
<action name="BookAction_*" class="cn.itcast.struts2.pattern.BookAction" method="{1}">
<result name="success" type="dispatcher">
<param name="location">/pattern/success.jsp</param>
</result>
</action>
--------------------------------------------------------------------------------------------------------------------
3、不同的action name 不同的action class 不同的action method 不同的result
<!--
<a href="${pageContext.request.contextPath}/pattern/BookAction_add.action">图书添加</a><br>
<a href="${pageContext.request.contextPath}/pattern/BookAction_delete.action">图书删除</a><br> <br> <br>
<a href="${pageContext.request.contextPath}/pattern/UserAction_add.action">用户添加</a><br>
<a href="${pageContext.request.contextPath}/pattern/UserAction_delete.action">用户删除</a><br>
-->
<action name="*_*" class="cn.itcast.struts2.pattern.{1}" method="{2}">
<result name="success" type="dispatcher">
<param name="location">/pattern/{1}.jsp</param>
</result>
</action>
---------------------------------------------------------------------------------------------------------------------
4、动态方法调用!形式: 相同的action name 相同的action class 相同的 result method由页面中的路径表示
<!-- 在动态方法调用中BookAction!add.action 【BookAction表示action中的name !后面的表示action中的method】-->
<!-- <a href="${pageContext.request.contextPath}/pattern/BookAction!add.action">图书添加</a><br>-->
<!-- <a href="${pageContext.request.contextPath}/pattern/BookAction!delete.action">图书删除</a><br>--> -->
<action name="BookAction" class="cn.itcast.struts2.pattern.BookAction">
<result name="success" type="dispatcher">
<param name="location">/pattern/success.jsp</param>
</result>
</action>
------------------------------------------------------------------------------------------------------------------------
5、全局结果当多个action中都使用到了相同result,这时我们应该把result定义为全局结果
<package ....>
<!-- 定义全局结果写在package里面-->
<global-results>
<result name="success" type="dispatcher">/pattern/successGlobal.jsp</result>
</global-results>
</package>
注:局部的会覆盖全局Struts2中应用范围内action的实例,每个请求都会创建一个action实例========================================================================================
6.
<package name="agency" extends="default" namespace="/AgencyRules">
<action name="*" class="com.imksmart.app.eaf.platform.agency.action.AgencyRulesAction" method="{1}">
</action>
</package>
这里的*表示的内容是看{}出现的位置,上例为一个method。比如URL为/AgencyRules/selectList.action,那么方法就为SelectList。
分享到:
相关推荐
### Struts2通配符详解 #### 一、引言 Struts2是基于MVC设计模式的一个开源框架,它提供了强大的功能来帮助开发者构建健壮的企业级应用。本文主要介绍Struts2中的通配符配置,这是一种非常实用且灵活的方式来处理...
在Struts2的配置中,通配符(Wildcard)的使用是一个非常实用的功能,它使得URL映射更加灵活,减少了重复配置。下面将详细解释Struts2通配符的用法,并结合示例代码进行解析。 1. **Struts2通配符概述** Struts2的...
在Struts2中,通配符匹配功能是一个非常实用的特性,它允许我们使用一种相对灵活的方式来映射Action请求,从而简化配置并提高代码的可维护性。以下是对"struts2通配符示例"的详细解释: 1. **通配符匹配原理**: ...
在Struts2中,通配符配置是一项强大的功能,它允许开发者以更灵活的方式定义Action映射,从而提高代码的复用性和配置的简洁性。这篇博客可能详细解释了如何在Struts2框架中使用通配符配置来简化Action配置。 通配符...
在实际应用中,为了简化配置并提高开发效率,Struts2引入了通配符机制。通过合理使用通配符,可以在一定程度上减少配置文件的冗余度,使配置更加简洁明了。 #### 二、通配符基本概念 在Struts2框架中,通配符主要...
### Struts2 通配符映射创建步骤详解 #### 一、项目环境搭建与配置 根据提供的描述,本文将详细介绍如何实现Struts2中的通配符映射,并结合具体的步骤来阐述整个过程。 **第一步:创建动态Web工程** 1. **创建...
### Struts2_Action 学习笔记与通配符配置详解 #### 一、Struts2简介及简单配置 Struts2是一个基于Java EE平台的开源Web应用框架,它继承了Struts1的优点,并在此基础上进行了大量的改进。Struts2的核心功能之一是...
在Struts2中,Action是业务逻辑处理的核心,而通配符的使用则是Struts2框架中一种灵活的配置方式,允许我们以更简洁的方式调用同一个Action中的不同方法。下面我们将深入探讨如何利用Struts2的通配符来实现这一功能...
在Struts2中,使用通配符优化配置是实现这一目标的有效手段。通配符允许开发者以一种更加灵活的方式定义Action,避免了为每一个Action单独编写配置项的繁琐工作。 首先,我们来理解一下什么是通配符。在Struts2的...
2. **Struts2通配符**:Struts2支持使用通配符进行URL映射,这使得路由更加灵活。例如,`*`可以匹配任意字符,`**`可以匹配多个目录层级。这种特性有助于创建更简洁、可读性强的URL结构。 3. **Struts2应用POJO...
本入门篇主要涵盖了Struts2的基础配置、通配符使用、参数注入以及内置对象的获取,非常适合初学者进行学习。 1. **基础配置**:在Struts2中,基础配置主要通过`struts.xml`文件完成。这个文件定义了Action(动作)...
本篇将深入探讨如何配置Struts2中的通配符以及如何处理错误页面。 一、Struts2的通配符配置 在Struts2中,使用通配符可以简化配置,提高代码的可维护性和复用性。通配符允许我们定义一个模式来匹配多个Action配置...
本文将深入探讨Struts2中的动态调用之通配符特性。 首先,我们要理解在Struts2中,动态调用的基本概念。它允许我们不在配置文件中为每个Action的每一个method单独指定一个URL,而是通过某种约定或规则来映射多个...
Struts2是一个强大的Java web开发框架,用于构建可维护、可扩展且结构良好的应用程序。它在MVC(Model-View-Controller)设计模式的基础上提供了一种实现方式,使得开发者能够更方便地处理用户请求,控制业务逻辑,...
NULL 博文链接:https://angelnight.iteye.com/blog/549617
struts2通配符;div布局框架;log4j;ssh流程。 留意: target="_self">改成target="MainBody">便可以真正使用div布局。 本资源是在“ssh框架搭建实例源码3”基础上添加struts2通配符;实现div布局框架;完善对基础...
9. 通配符匹配:Struts2允许使用通配符进行Action和结果的匹配,例如,`*.{action}`可以匹配所有以action结尾的动作。 七、Struts2与Spring集成 10. 集成Spring:Struts2可以通过Struts2-Spring-plugin插件与Spring...
Struts2支持使用通配符来映射多个请求。例如,`*`通配符可以匹配任何字符序列,所以我们可以这样配置: ```xml *" class="com.example.MyAction"> <result name="success">/success.jsp <result name="error">...
- Struts2的拦截器支持使用通配符来指定Action的执行顺序或拦截条件,例如在`struts.xml`中配置拦截器时可以使用通配符来指定某些特定的Action被拦截。 - **国际化处理**: - Struts2内置了国际化支持机制,允许...
Struts2.5框架使用通配符与动态方法常见问题小结 Struts2.5框架使用通配符与动态方法是Struts2.5框架中两个非常重要的概念。通配符是Struts2.5框架中的一种强大的功能,它允许开发者使用通配符来指定方法,减少配置...