`

struts2中配置文件里的package元素和namespace属性的区别?

阅读更多

下面是一个struts.xml的配置文件

<struts>
    <package name="example" namespace="/example" extends="struts-default">
    	<action name="hello" class="com.yanln.test.action.HelloWorld">
    		<result name="success">success.jsp</result>
    	</action>
    </package>
</struts>

 

struts2中采用<package>元素来管理Action,通过它来管理一组业务功能相关的action,元素中的name属性用来标识包的名称,不同的包中可以有同名的action, 但是这些同名的action在访问时怎么来区分访问的是哪个包中的action呢?

 

首先:访问时通过package元素中的name属性值来区分是不起作用的,因为package元素只能在配置文件中来表示不同模块的action属于不同的包,至于怎么访问到不同模块下的action是由namespace来决定的。

 

其次:重点说下namespace,package元素中的namespace属性是用来设置访问路径的,不是必须配置的,默认是“”,代表可以接收所有路径的action, namespace可以写为“/”, 或者“/xxx” 等,对应的action访问路径为“/hello.action”, "/xxx/hello.action"。

 

最后:举个例子说明namespace的作用其实主要在于区分不同package中的同名action的访问问题。

<package name="a" namespace="/a" extends="struts-default">
    	<action name="hello" class="com.yanln.test1.HelloWorld">
    		<result name="success">success.jsp</result>
    	</action>
</package>
    
<package name="b" namespace="/b" extends="struts-default">
    	<action name="hello" class="com.yanln.test2.HelloWorld">
    		<result name="success">success.jsp</result>
    	</action>
</package>

 

说明:a包中有个hello, b包中有个hello, 我想访问b包中的hello,action的访问路径就可以这样写“/b/hello.aciton” 。

 

1
0
分享到:
评论

相关推荐

    Struts2的配置文件基础

    在struts.xml文件中package元素用于定义包配置,每个package元素定义了一个包配置。它的常用属性有:name:必填属性,用来指定包的名字。extends:可选属性,用来指定该包继承其他包。继承其它包,可以继承其它包中...

    struts2配置2.5版

    5.struts配置文件改动后,是否重新加载 &lt;constant name="struts.configuration.xml.reload" value="true" /&gt; 6.查看源码:Build path 后的类库中,奶瓶图标找到struts-core-2.5.16.jar 右键--&gt;properties--&...

    Struts2 学习笔记

    十三、 Struts2配置文件模块化包含(include) 17 十四、 默认的Action 18 十五、 Action总结 18 02 Struts2-Result 19 一、 Result类型 (type) 19 二、 全局结果集(Globle Result) 20 三、 动态的结果集(dynamic ...

    jfreechar 整合struts2.1.8版本生成线图,饼图,柱形图

    -- include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中 然后用include节点引用 --&gt; &lt;include file="struts-default.xml"&gt; &lt;!-- package提供了将多个Action组织为一个模块的方式 ...

    Struts2帮助```````

    十三、 Struts2配置文件模块化包含(include) 17 十四、 默认的Action 18 十五、 Action总结 18 02 Struts2-Result 19 一、 Result类型 (type) 19 二、 全局结果集(Globle Result) 20 三、 动态的结果集(dynamic ...

    struts2.0扫盲文档

    struts2.0扫盲文档2加入struts.xml配置文件(自己建) &lt;?xml version="1.0" encoding="UTF-8" ?&gt; &lt;!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...

    深入浅出Struts2(附源码)

    2.5.1 部署描述文件和Struts配置文件 27 2.5.2 动作类 28 2.5.3 运行app02a程序 29 2.6 依赖注入 29 2.6.1 概述 29 2.6.2 依赖注入的几种方式 31 2.7 小结 31 第3章动作与结果 32 3.1 动作类 32 3.2 如何...

    struts2-hibernate-spring 集成jar包

    struts2-hibernate-spring 集成jar包,但在使用时要注意struts2的配置文件中的&lt;package&gt; 标签中不要配置 “namespace” 属性 且在页面中访问 Action 的请求要带“.action” 跑。

    解决struts2下载异常的jar包 struts2-sunspoter-stream-1.0.jar

    在struts2中使用result里type="stream"的结果类型时,可以实现文件的下载管理,使用时也是比较顺畅,但是当在“下载提示窗口”中点击“取消按钮”时,总是报出“java.lang.IllegalStateException”异常,异常内容...

    struts2注解详细说明

    从struts2.1版本开始,Convention Plugin作为替换替换Codebehind Plugin来实现Struts2的零配置。• 包命名习惯来指定Action位置• 命名习惯制定结果(支持JSP,FreeMarker等)路径• 类名到URL的约定转换• 包名...

    ssh整合配置文档

    ssh 整合所有配置文件的配置 各个标签如何填写 Struts2.xml配置文档 &lt;?xml version="1.0" encoding="UTF-8" ?&gt; &lt;!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" ...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    2.5.1 部署描述文件和Struts配置文件 27 2.5.2 动作类 28 2.5.3 运行app02a程序 29 2.6 依赖注入 29 2.6.1 概述 29 2.6.2 依赖注入的几种方式 31 2.7 小结 31 第3章 动作与结果 32 3.1 动作类 32 3.2 如何访问资源 ...

    struts项目搭建

    &lt;package name="" namespace="/" extends="struts-default"&gt; &lt;result&gt;welcome.jsp &lt;/package&gt; &lt;/struts&gt; 在webroot目录下新建JSP页面,名字:welcome.jsp,内容如下: &lt;html&gt; &lt;head&gt; &lt;...

    BOS 技术整理

    rc/main/resource 提供 config.properties 外部属性文件、log4j.properties 日志配置文件 配置文件如下: applicationContext.xml  struts2 注解 类上 @ParentPackage 包继承谁? extends=”struts-default...

    spring3.2+strut2+hibernate4

    &lt;package name="abstract_struts" abstract="true" extends="struts-default" namespace="/"&gt; &lt;interceptors&gt; &lt;interceptor name="authority" class="com.sbz.application.common.LoginIntercepter" /&gt; ...

    客户关系管理系统框架搭建(二)

    * struts2需要的jar包 * jstl 需要的jar包 * junit需要的jar包 * 包的介绍 * cn.itcast.crm.container:重新封装spring容器 * cn.itcast.crm.dao:放置的是dao接口 * cn.itcast.crm.dao.impl:放置的是dao接口...

    dangdang和smartstruts2.rar

    第五步:复制util、Factory包、复制四个src下面的配置文件。 第六步:写dao接口 UserDao BaseDao public void save(User user) throws Exception; public boolean valiEmail(String email) throws Exception; ...

Global site tag (gtag.js) - Google Analytics