`
CoderDream
  • 浏览: 478425 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

【张冰Struts2学习笔记】0601.struts.xml配置详解之六 Action配置3 通配符

阅读更多

struts.xml 配置详解之六 通配符

 

1.      Action 配置

1.7 、通配符映射

通配符样式:可以包含一个或多个下列特殊记号

特殊记号

说明

  *

  匹配0 个或多个字符,斜线(/ )字符除外

  **

  匹配0 个或多个字符,包含斜线(/ )字符

  \

  反斜线字符被用作转义序列,因此'\*' 匹配星号(* )字符,'\\' 匹配反斜线(\ )字符

示例:

代码清单 1 UserAction.java 片段

public class UserAction extends ActionSupport {

 

      public String add() {

           System.out .println("add 方法被调用 " );

           return SUCCESS ;

      }

 

      public String del() {

           System.out .println("del 方法被调用 " );

           return SUCCESS ;

      }

 

      public String modify() {

           System.out .println("modify 方法被调用 " );

           return SUCCESS ;

      }

 

      public String query() {

           System.out .println("query 方法被调用 " );

           return SUCCESS ;

      }

 

}

代码清单 2 MP3Action.java 片段

public class MP3Action extends ActionSupport {

 

      public String add() {

           System.out .println("add 方法被调用 " );

           return SUCCESS ;

      }

 

      public String del() {

           System.out .println("del 方法被调用 " );

           return SUCCESS ;

      }

 

      public String modify() {

           System.out .println("modify 方法被调用 " );

           return SUCCESS ;

      }

 

      public String query() {

           System.out .println("query 方法被调用 " );

           return SUCCESS ;

      }

 

}

jsp 访问代码

代码清单 3 main.jsp 片段

< a href = " <%= path %> /add_User.action" > 增加 User </ a >

< br />

< a href = " <%= path %> /del_User.action" > 删除 User </ a >

< br />

< a href = " <%= path %> /modify_User.action" > 修改 User </ a >

< br />

< a href = " <%= path %> /query_User.action" > 查询 User </ a >

< br />

< br />

< a href = " <%= path %> /add_MP3.action" > 增加 MP3 </ a >

< br />

< a href = " <%= path %> /del_MP3.action" > 删除 MP3 </ a >

< br />

< a href = " <%= path %> /modify_MP3.action" > 修改 MP3 </ a >

< br />

< a href = " <%= path %> /query_MP3.action" > 查询 MP3 </ a >

< br />

action 映射和action 结果中:

1、   通配符匹配的值 可以用记号{N} 来访问,N 是第1 9 的数字,指出替换 的是哪一个通配符 匹配的值。

2、          整个请求URI 用记号{0} 来访问。

代码清单 3 struts.xml 片段

<package name="login" extends="struts-default">

      <action name="*_*" class="com.coderdream.action.{2}Action"

           method="{1}">

           <result name="success">/WEB-INF/msg/{0}Suc.jsp </result>

      </action>

</package>

详细解析:

1、 当请求“/add_User.action 时,name 中的第一个星“* ”匹配方法add ,第二个星“* ”匹配ActionUser ,所以会访问UserAction 中的add 方法

2、 结果映射中使用的记号是{0} ,于是被整个请求URI (即add_User )替换,所以会访问add_User Suc.jsp 页面

注意点:

1、 如果要使用多个通配符,要用下划线(_ 隔开;

2、 不同的方法 可以映射不同的结果 ,这比动态方法调用更灵活(动态方法调用 只能访问同一个结果

3、 多个action 映射 可以匹配同一个请求

代码清单 4 struts-1.xml 片段

< package name = "login" extends = "struts-default" >

      <!-- 1 、全通配符   -->

      < action name = "*" class = "com.coderdream.action.UserAction" >

           < result name = "success" > /WEB-INF/msg/starSuc.jsp </ result >

      </ action >

     

      <!-- 2 、部分通配符   -->

      < action name = "*User" class = "com.coderdream.action.EditUserAction" >

           < result name = "success" > /WEB-INF/msg/editUserSuc.jsp </ result >

      </ action >

     

      <!-- 3 、无通配符   -->

      < action name = "addUser"

class = "com.coderdream.action.AddUserAction" >

           < result name = "success" > /WEB-INF/msg/addUserSuc.jsp </ result >

      </ action >

</ package >

1) 当请求“/addUser ”时,框架优先 匹配无通配符 action ,此处会匹配AddUserAction

2) 当请求“/queryUser ”时,框架按出现顺序 匹配通配符的action ,此处会匹配UserAction ,而不会匹配EditUserAction

3) 所以如果想让使用“部分通配符 ”的action 被访问,“全通配符” 的配置应该放在最后

 

我的联系方式: 85337464

我的博客: http://coderdream.iteye.com

 

0
0
分享到:
评论

相关推荐

    【张冰Struts2学习笔记】0102_第一个Struts2实例

    【张冰Struts2学习笔记】0102_第一个Struts2实例 在Java Web开发领域,Struts2框架是十分重要的MVC(模型-视图-控制器)架构之一,它极大地简化了Web应用程序的开发流程。这篇学习笔记将带你入门Struts2,通过创建...

    【张冰Struts2学习笔记】0201_Action接口与ActionSupport类

    同时,Struts2的配置文件(struts.xml或struts.properties)也需要定义Action的相关配置,如Action的名称、结果页面等。 在开发过程中,了解并熟练掌握`Action`接口和`ActionSupport`类的用法,能有效提高开发效率...

    【张冰Struts2学习笔记】0202_Struts2的三种接收用户输入的方法

    在"【张冰Struts2学习笔记】0202_Struts2的三种接收用户输入的方法"中,我们主要探讨的是如何在Struts2中有效地获取并处理用户提交的数据。以下是对这三种方法的详细解析: ### 1. 使用Action属性 Struts2的核心是...

    【张冰Struts2学习笔记】0103_Path与绝对路径

    标题中的“【张冰Struts2学习笔记】0103_Path与绝对路径”表明了这篇笔记主要讨论的是Struts2框架中关于Path和绝对路径的概念及其应用。Struts2是一个流行的Java Web开发框架,它提供了强大的MVC(模型-视图-控制器...

    struts2 PPT 张冰

    总的来说,张冰的PPT深入浅出地讲解了Struts2框架,涵盖了其核心组件、工作原理、配置细节以及实用的标签库,对于理解和使用Struts2开发Java web应用具有很高的指导价值。通过学习这个PPT,开发者可以更好地掌握...

    张冰主讲的struts2 ppt

    Struts2是一个强大的Java ...通过张冰主讲的Struts2 PPT,开发者不仅能学习到上述基础知识,还能了解到实际项目中的最佳实践和常见问题解决方案。这份PPT对于想要深入了解和掌握Struts2框架的人来说是一份宝贵的资源。

    张冰struts原代码(全部1-6)之五

    3. **配置文件**:Struts的配置文件(通常为struts-config.xml)定义了Action的映射、ActionForm Bean的属性以及数据流的方向。这些配置对于理解和控制应用程序的流程至关重要。 4. **Tiles**:在Struts 1.x中,...

    张冰struts原代码(全部1-6)之六

    这个“张冰struts原代码(全部1-6)”系列可能是一个教程或者一系列的学习资源,由张冰提供,涵盖了Struts框架的基础到高级应用,包括了六个部分的内容。 1. **Struts框架基础**:Struts框架的核心是ActionServlet,...

    Struts2_张冰_视频教程课件_PPT

    2. **Struts2配置**:XML配置文件(struts.xml)是Struts2的中枢,用于定义Action、Action映射、结果类型等。此外,Struts2还支持注解配置,让代码更简洁。 3. **拦截器**:拦截器是Struts2的一个强大特性,可以...

    张冰struts原代码(全部1-6)之三

    这个“张冰struts原代码(全部1-6)”系列可能是一个教学资源,包含了六个部分,旨在帮助学习者深入理解Struts框架的工作原理和实现细节。以下是基于提供的文件名推测的各个部分可能涉及的关键知识点: 1. **test-...

    张冰struts原代码(全部1-6)之二

    张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)

    张冰struts原代码(全部1-6)之一

    张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)

    张冰struts原代码(全部1-6)之四

    张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)

    struts2.ppt完整包

    3. **配置文件**:Struts2的配置文件(如struts.xml)定义了Action的配置、拦截器栈、全局结果等,是控制应用程序行为的重要部分。 4. **拦截器(Interceptors)**:拦截器是Struts2的一个强大特性,它们在Action...

    张冰主讲的Struts2的PPT

    Struts2的配置方式也更加灵活,支持XML配置和注解配置,甚至可以通过Convention插件实现零配置开发。 登录功能的实现是许多web应用的基础,Struts2提供了一套完整的机制来处理用户登录请求,包括Action的定义、结果...

    Struts2 ppt

    3. **配置文件**:Struts2的配置主要在struts.xml文件中进行,用于定义Action的映射、结果类型、拦截器等。通过XML配置,可以灵活控制应用的行为。 4. **拦截器(Interceptors)**:拦截器是Struts2的一大特色,...

    张冰老师的SSH2整合心得

    8. **Struts2配置**:在Struts2的配置文件(如`struts.xml`)中,定义Action、结果类型和拦截器栈。这将指定用户请求如何映射到Action,以及Action执行后如何返回结果。 9. **整合测试**:完成配置后,启动服务器,...

    C面向对象程序设计张冰PPT学习教案.pptx

    ### C面向对象程序设计——基于张冰PPT学习教案的关键知识点 #### 一、面向对象程序设计概述 在《C面向对象程序设计张冰PPT学习教案》中,作者通过具体的例子介绍了面向对象编程的基本思想及其与传统的结构化程序...

    传智播客Struts2的PPT

    传智播客Struts2的PPT,是传智播客黎活明老师的东西,和视频是配套的东西还不错

    C++面向对象程序设计 张冰 课件、源代码

    张冰教授的课件和源代码很可能是为了辅助学习这些概念而设计的,通过实际编程例子和练习,帮助学生加深理解和应用这些知识。源代码可能涵盖了各种面向对象的设计模式,如工厂模式、单例模式、观察者模式等,这些都是...

Global site tag (gtag.js) - Google Analytics