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

【张冰Struts2学习笔记】0402.struts.xml配置详解之二 名称空间 包含

阅读更多

 

struts.xml 配置详解之二 名称空间 包含

 

1.      名称空间

package 元素的namespace 属性可以将包中的action 配置为不同的名称空间 ,这样就可以在不同的名称空间 中使用同名action Struts2 框架使用名称空间和action 的名字来标识一个action

1.1 、自定义名称空间与默认名称空间

默认的名称空间 是空字符串””,也就是不设置namespace 属性时候的名称空间 。我们在匹配一个action 的时候, 到它指定的名称空间 中去找,如果没有 再到这个默认的名称空间 中去找。

代码清单 1 struts.xml 片段

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

      < action name = "login" class = "com.coderdream.action.LoginAction">

           < result name = "success"> /loginSuc.jsp

           </ result >

           < result name = "input"> /loginFail.jsp

           </ result >

      </ action >

 

      < action name = "test1 " class = "com.coderdream.action.Test1Action">

           < result name = "success"> /test1-1.jsp

           </ result >

      </ action >

</ package >

 

< package name = "test1" extends = "struts-default" namespace = "/test1 ">

      < action name = "test1 " class = "com.coderdream.action.Test1Action">

           < result name = "success"> /test1.jsp

           </ result >

      </ action >

</ package >

代码清单 2 mail.jsp 片段

<a href = " <%= path %> /test1.action" >test1 </a ><br />

访问: test1-1.jsp 文件(未指定名称空间,相当于指定为根名称空间,未定义根名称空间,会直接去默认的名称空间找)

<a href = " <%= path %> /test1/test1.action" >test1 </a ><br />

访问: test1.jsp 文件(指定名称空间,直接去指定名称空间找)

<a href = " <%= path %> /test100/test1.action" >test1 </a ><br />

<a href = " <%= path %> /test200/test1.action" >test1 </a ><br />

<a href = " <%= path %> /test500/test1.action" >test1 </a ><br />

访问: test1-1.jsp 文件(指定名称空间,直接去指定名称空间找,如果找不到,会去默认的名称空间找)

1.2 、根名称空间

Struts2 还支持根名称空间(/) ,当一个request 直接请求context path 下面的资源时,struts2 会首先到跟名称空间下去寻找匹配的action ,例如请求是:

http://ip/websitename/xxx.action

那么我们首先会去”/ ”名称空间 下去寻找这个action ,然后再去默认的名称空间 找。

代码清单 3 struts.xml 片段

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

      < action name = "test2" class = "com.coderdream.action.Test1Action">

           < result name = "success"> /msg /test1-1.jsp

           </ result >

      </ action >

</ package >

 

< package name = "test1" extends = "struts-default" namespace = "/test1">

      < action name = "test1" class = "com.coderdream.action.Test1Action">

           < result name = "success"> /msg/test1.jsp

           </ result >

      </ action >

</ package >

 

< package name = "test11" extends = "struts-default" namespace = "/">

      < action name = "test1" class = "com.coderdream.action.Test1Action">

           < result name = "success"> /msg/test1-2.jsp

           </ result >

      </ action >

</ package >

代码清单 4 mail.jsp 片段

<a href = " <%= path %> /test1.action" >test1 </a ><br />

访问: test1-2.jsp 文件(指定为根名称空间,去定义根名称空间找)

注意:

名称空间和文件系统的路径具有多级目录不同,名称空间只有一个级别 。例如,如果请求URL/barspace/myspace/bar.action ,框架将首先在“/barspace/myspace 名称空间中查找,如果没有 找到bar.action ,框架将直接到默认的名称空间中查找 框架并不会将名称空间解析为一系列的”文件夹“。

提示:

多个包 可以映射到相同的名称空间 ,这与包所要求的唯一性是不同的。

2.      包含( include )配置

在大型项目开发中,可以将项目分解为多个小模块,每个模块独立开发和管理。我们可以为每个模块提供一个配置文件,然后对其进行配置,然后在struts.xml 中使用include 元素包含这些配置文件。

例如:

代码清单 5 struts.xml 片段

<include file="struts-chat.xml" />

另外,可以引用特定目录下的文件,如存在struts.xml 放在com/coderdream/vo 下,则包含配置如下:

代码清单 6 struts.xml 片段

<include file="com/coderdream/vo/struts-user.xml" />

 

我的联系方式: 85337464

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

 

1
1
分享到:
评论

相关推荐

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

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

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

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

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

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

    【张冰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)之二

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

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

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

    Struts2_张冰_视频教程课件_PPT

    这个“Struts2_张冰_视频教程课件_PPT”资源是专门针对Struts2框架的学习资料,由知名讲师张冰制作,旨在帮助学习者深入理解并掌握Struts2的核心概念和技术。 首先,我们来探讨一下Struts2框架的基础知识。Struts2...

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

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

    张冰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)

    张冰主讲的Struts2的PPT

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

    struts2.ppt完整包

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

    Struts2 ppt

    **Struts2 PPT 知识点详解** Struts2 是一个开源的Java Web应用程序框架,主要用于构建MVC(Model-View-Controller)架构的Web应用。由Apache软件基金会维护,它继承了Struts1的优点并弥补了其不足,提供了更强大的...

    张冰老师的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