Struts2 Package
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的更多相关文章
- struts2 package元素
<package../>元素 name 必选 包名 extends 可选 继承 namespace ...
- struts2 package 属性说明
package节点是整个配置的核心部分.每个package,从语义上讲,其实代表了每一个独立的模块.在这个模块中,你可以定义隶属于这个模块的行为方式,而与其他的模块没有关系.所以,每个package都 ...
- struts2 package元素配置
package 元素的所有属性及对应功能: Attribute Required Description name yes key to for other packages to reference ...
- struts2 package元素配置(转载)
package 元素的所有属性及对应功能: Attribute Required Description name yes key to for other packages to reference ...
- android 上传图片到服务器Tomcat(Struts2)
在做android开发的时候,有时你会用到图片的上传功能,在我的android项目中,我是选中图片,点击上传多张图片 android客户端上传图片部分的代码如下: package com.exampl ...
- json与java对象的转换,以及struts2对json的支持,实现ajax技术
这两天学的东西有点多,今天抽个时间写下来,以此作为激励,这两天学了json,ajax,jQuery 一.使用第三方的工具java转换为json类型 首先就是java类型转换为json对象,首先要导入第 ...
- Struts 2 Learning
目录 . J2EE简介 . JAVA EE应用的分层模型 . 搭建Struts2 Demo应用 . struts2流程 . struts2的常规配置 . 实现Action . 配置Action . 配 ...
- Java 学习文章汇总
目前JAVA可以说是产业界和学术界最热门的语言,许多人都很急切想把JAVA学好. 但学习是需要步骤的,除非像电影中演的那样,能够把需要的专业技巧下载到脑海:主角只花了几秒下载资料,就马上具备飞行员的技 ...
- struts2配置文件的加载顺序以及 struts.xml package 的配置说明
查看StrutsPrepareAndExecuteFilter:(核心过滤器)两个功能 :预处理 和 执行 在预处理功能中 init 方法中会有加载配置文件的代码: dispatcher.init() ...
随机推荐
- 打包python脚本为exe可执行文件-pyinstaller和cx_freeze示例
本文介绍使用cx_freeze和pyinstaller打包python脚本为exe文件 cx_freeze的使用实例 需要使用到的文件wxapp.py, read_file.py, setup.py ...
- 1105. Spiral Matrix (25)
This time your job is to fill a sequence of N positive integers into a spiral matrix in non-increasi ...
- Python的循环
循环是一个结构,导致一个程序要重复一定的次数 条件循环也一样,当条件变为假,循环结束 For循环 在python for循环遍历序列,如一个列表或一个字符. for循环语法: ——for iter ...
- MySQL 5.7.9的多源复制
什么是多源复制? 首先,我们需要清楚 multi-master 与multi-source 复制不是一样的. Multi-Master 复制通常是环形复制,你可以在任意主机上将数据复制给其他主机. M ...
- 【采集】php str_replace
<?php function my_str_replace($xmlHttp,$order='asc'){ if($order=='asc'){ return str_replace(array ...
- OC类的本质,深入探讨,load方法和initialize方法
1:类的本质:类也是一种类,可以叫做类类,类对象,类类型: 2:类和对象在内存中分配问题(注意区分类的对象和类对象的概念) 类对象在内存中只有一份,且只加载一次,类对象中存放了类中定义的方法: 而成员 ...
- Windows Phone 8.1 与 Windows Phone 8.1 Silverlight区别
以下讨论基于当前的WP8 APP, 一.Windows Phone 8 app:旧的WP8程序:不需要迁移: 二.Windows Phone 8.1 app新的使用Windows Runtime 的程 ...
- 设计模式之原型模式(prototype)
原理:拷贝自身对象实际上就是调用的拷贝构造函数,注意事项是这里的拷贝是深拷贝,即需要拷贝指针所指的内容 #include <stdio.h> #include <memory> ...
- 【BZOJ】【1770】【Usaco2009 Nov】lights 灯
高斯消元解XOR方程组 一眼看上去是高斯消元解xor方程组……但是不会写……sad 去膜拜了Hzwer和ZYF Hzwer啥也没说,还是zyf靠谱…… 当多解的时候就需要爆搜枚举自由元的情况,找最优解 ...
- GridView 服务端控件添加 js
针对服务端控件的 CommandField “Delete” 添加 js $("#GridView1").find("a").each( function() ...