package 元素的所有属性及对应功能:

Attribute Required Description
name yes key to for other packages to reference ---包名称,用来让别的包继承时使用不能有重复
extends no inherits package behavior of the package it extends -----当前包所要继承的父包,继承之后,当前包拥有父包中所定义的任意类、拦截器等
namespace no 用于区分包中相同的类
abstract no declares package to be abstract (no action configurations required in package)定义当前包为一个抽象的包也就是说不能有action元素在当前包中

例子:

假如我有以下的配置段落

<struts>
<package name="p1" extends="struts-default">
   <action name="login" class="com.example.action.Login">
    <result>/success.jsp</result>
   </action>

<action name="login1" class="com.example.action.Login">
    <result>/success.jsp</result>
   </action>

</package>

<package name="p2" extends="struts-default" namespace="/testNameSpace">
   <action name="login" class="com.example.action.Login">
    <result>/success.jsp</result>
   </action>
</package>
</struts>

说明:

a、 包p1没有定义namespace,说明p1用的是默认空间""

现在有下面的请求:

1、/工程名/login.action

------这个请求对应p1包下的action name=login

2、/工程名/testNameSpace/login.action

-----这个请求对应p2包下的action name=login

3、/工程名/testNameSpace/login1.action

----这个请求是请求p2包下的信息的,如果struts在检索了p2包下的所有action后没有检索到当前请求的login1,这时struts会检索前一个命名空间,这里是默认空间下是否有当前请求,检查发现存在login1就得到当前检索

这里我有个个人的建议:

无论你的namespace配置或者没配置,也无论配置啥样,你在写跳转的url的时候请你也把

‘/工程名/’带上,写成这样:/工程名/命名空间1/命名空间2/actionName.action这样写能保证路径的正确性,当然如果你在写跳转的时候不发晕,可以视你的配置情况加或者不加这个!

struts2 package元素配置(转载)的更多相关文章

  1. struts2 package元素配置

    package 元素的所有属性及对应功能: Attribute Required Description name yes key to for other packages to reference ...

  2. struts2 package元素

    <package../>元素         name         必选    包名         extends     可选    继承         namespace    ...

  3. struts.xml文件中package元素的各大属性讲解

    Struts2中的包: Struts2使用包来组织Action,将Action放在包下来定义,通过package元素配置一个包,通过package的子元素action来定义一个Action: Stru ...

  4. 【struts2】<package>的配置

    <package>元素可以把逻辑上相关的一组Action.Result.Intercepter等元素封装起来,形成一个独立的模块,package可以继承其他的package,也可以作为父包 ...

  5. struts2是如何加载相关的package元素节点信息的

    这不是一篇纯技术文章,而是一篇分享我个人在前后端分离路上收获的点点滴滴的文章,以此来为准备尝试前后端分离或者想了解前后端分离的童鞋做一个大体的讲解. 上一家公司是家小公司,做了一年的全栈开发,对前端的 ...

  6. Struts2(四)Struts2配置文件的配置

    Struts2的常见配置 1.Struts2的配置文件的加载顺序: 每次从客户端发送到请求到服务器都要先从Struts2的核心过滤器StrutsPrepareAndExeccuteFilter,这个过 ...

  7. 关于Struts2中 Action 配置method的解读

    为Action配置method属性: 将Action类中的每一个处理方法都定义成一个逻辑Action方法. <!DOCTYPE struts PUBLIC "-//Apache Sof ...

  8. 【struts2基础】配置详解

    一.struts2工作原理(网友总结,千遍一律) 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做Action ...

  9. struts2学习笔记(三)—— struts2的常见配置

    一.配置文件的加载顺序 每次从客户端发送请求到服务器都要先经过Struts2的核心过滤器StrutsPrepareAndExecuteFilter,这个过滤器有两个功能:预处理和执行.在预处理中主要就 ...

随机推荐

  1. asp.net webservice 跨域解决方法

    首先需要把[System.Web.Script.Services.ScriptService]前边的注释去掉,放开权限,其次需要在web.config 里<system.web节点下>添加 ...

  2. 关于Windows文件名和路径名的那些事

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:关于Windows文件名和路径名的那些事.

  3. Redis 配置文件 Redis.conf 参数说明

    Redis 配置文件 Redis.conf 参数说明 参数名 参数说明 参数实例 daemonize 是否以后台守护进程运行,默认为 no, 取值 yes, no   daemonize no     ...

  4. 判断一个Bitmap图像是否是.9图

    见BitmapFactory的源码中 byte[] np = bm.getNinePatchChunk();  final boolean isNinePatch = np != null & ...

  5. linux tomcat自启动设置

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  6. 【47】请使用traits classes表现类型信息

    1.考虑下面的需求,对迭代器移动d个单位.因为不同类型的迭代器,能力不同,有的迭代器(vector,deque内置迭代器)可以一步到位移动到指定位置,有的迭代器(list内置迭代器)必须一步一步移动, ...

  7. 理解class.forName()

    使用jdbc方式连接数据库时会使用一句代码Class.forName(String className).这句话是什么意思呢?首先说一点Class.forName(String className)这 ...

  8. PCL入门—点云操作 定义变量 显示点云 存储

    // 定义相关变量 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_ptr (new pcl::PointCloud<pcl::PointXYZ& ...

  9. 跟Android初学者分享几点经验

    刚学Android开发的人肯定想知道过来人是怎样入门的,有哪些经验,怎样能少走弯路.本文就跟大家分享一位Android开发者的入门经验,写的条理很清晰,真正讲出了自己的学习过程,尽管每个人的学习方法和 ...

  10. [Bootstap] 9. Dropdown

    Dropdown Arrow Class In order to create a down arrow like this: , what class should we apply to the ...