三大框架学习之----struts2 通配符的使用(二)
来源:互联网 发布:c语言在线编程 编辑:程序博客网 时间:2024/05/07 12:02
我们知道,struts2是基于servlet的框架,而servlet的缺点之一就在于web.xml繁多,给团队开发带来不便。
在讲通配符之前,我们先来介绍<include>标签
通过上一篇,我们知道要想正确搭建struts2框架,必须要配置struts.xml。但是这么一来,貌似与web.xml并没有太大的区别。
在struts中,为了解决这一问题,提供了可使一个或多个action类使用的配置文件。
首先,我们来看单个类对应的配置文件,这就用到了我们提到的<include>标签
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><package name="actiontest11111" namespace="/base" extends="struts-default"><action name="hellowordaction" class="com.struts2.actiontest.hellowordaction"><result name="sucess">/test/SUCESS.jsp</result></action></package><pre name="code" class="html"><span style="white-space:pre"></span></include>
<span style="white-space:pre"></span><!-- file 代表所要引进的xml路径,teacher_struts.xml即TeacherAction 的xml文件,此时的配置文件名自定义--><include file="com/struts2/teacheraction/teacher_struts.xml"></include><!-- file </struts>
对于单个类对应配置文件,很好理解,但是,当我们需要调用action中的不同方法,或是调用不同action中的相同方法时,好像问题又回到了原点,这时,通配符就能帮我们解决这个棘手的问题
(一)不同的链接(可以理解不同的权限)请求相同函数。下图是不使用通配符的情况
<span style="white-space:pre"></span><!-- a_add.action、b_add.action、c_add.action全部请求PatternAction的add方法--><action name="a_add" class="cn.heima6.struts2.action.pattern.PatternAction" method="add"><result name="add">successPattern.jsp</result></action><action name="b_add" class="cn.heima6.struts2.action.pattern.PatternAction" method="add"><result name="add">successPattern.jsp</result></action><action name="c_add" class="cn.heima6.struts2.action.pattern.PatternAction" method="add"><result name="add">successPattern.jsp</result></action>
我们可以看到,有几个action就得配置几次,
<span style="white-space:pre"></span><!-- 改进*_add这里*代表任意字符串--><action name="*_add"class="cn.heima6.struts2.action.pattern.PatternAction"method="add"><result name="add">successPattern.jsp</result></action>
(二)不同action请求相同的函数
<!-- 请求PersonAction和StudentAction的add方法--><!-- <action name="personAction_add" class="cn.heima6.struts2.action.pattern.PersonAction" method="add"><result name="add">successPattern.jsp</result></action><action name="studentAction_add" class="cn.heima6.struts2.action.pattern.StudentAction" method="add"><result name="add">successPattern.jsp</result></action>-->我们可以看到,除去action的名字不同之外,其他的配置都相同
此时,我们使用通配符进行配置
<span style="white-space:pre"></span><!-- 改进 {1}与前面的*号匹配,但是,<span style="background-color: rgb(255, 0, 0);">注意,此时的*号必须是类名,因为class中进行了引用</span>--><action name="*_add"class="cn.heima6.struts2.action.pattern.{1}" method="add"><result name="add">successPattern.jsp</result></action>
(三)请求同一个action类的不同方法
<!-- 请求PatternAction的aa,bb,cc,dd方法--><action name="patternAction_*"class="cn.heima6.struts2.action.pattern.PatternAction"method="{1}"><result name="success">successPattern.jsp</result></action>(四)请求一一对应的不同类的不同方法
<!-- 请求PersonAction和StudentAction中的aa,bb方法--><action name="*_*" class="cn.heima6.struts2.action.pattern.{1}"method="{2}"><result name="success">successPattern.jsp</result></action>此时,配置好后,引入struts.xml
0 0
- 三大框架学习之----struts2 通配符的使用(二)
- 三大框架学习之----struts2框架的搭建(一)
- 学习SSH三大框架(一)之struts2起步
- java三大框架之struts2学习(1)
- Struts2学习笔记(二) 使用通配符动态调用方法
- Struts2学习(三)---Struts2.5使用通配符完成登录注册
- Struts2的访问路径三:使用通配符配置访问路径二
- 学习三大框架Struts2 、 Hibernate 、 Spring时,涉及到三大框架的配置文件以及整合。
- struts2通配符的使用
- struts2通配符的使用
- struts2通配符的使用
- struts2通配符的使用
- struts2的通配符使用
- struts2:通配符的使用
- struts2通配符的使用
- SSH三大框架之struts2
- JavaWeb三大框架之---struts2详解
- 关于Struts2框架的学习(三)
- 协方差矩阵
- UVa 314 - Robot (bfs)
- 3-v4l2文档之——register and open注册,打开
- linux at 无法使用的问题
- kafka安装
- 三大框架学习之----struts2 通配符的使用(二)
- 试手破解soapUI and readyAPI
- kafka的producer测试
- AIDL调用第三方应用程序服务中的方法
- 复习C++
- stl中set和hash_set底层实现详解
- stm32f10x 标准外设固件库时钟配置函数分析
- UGUI学习笔记3——UI组件
- 第0章 操作系统概念