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这样写能保证路径的正确性,当然如果你在写跳转的时候不发晕,可以视你的配置情况加或者不加这个

时间: 2024-10-08 06:37:10

Struts2 Package的相关文章

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 用于区分包中相

android 上传图片到服务器Tomcat(Struts2)

在做android开发的时候,有时你会用到图片的上传功能,在我的android项目中,我是选中图片,点击上传多张图片 android客户端上传图片部分的代码如下: package com.example.myphotos.utils; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.Inp

json与java对象的转换,以及struts2对json的支持,实现ajax技术

这两天学的东西有点多,今天抽个时间写下来,以此作为激励,这两天学了json,ajax,jQuery 一.使用第三方的工具java转换为json类型 首先就是java类型转换为json对象,首先要导入第三方工具包: 准备导入第三方jar包: >commons-beanutils-1.7.0.jar >commons-collections-3.1.jar >commons-lang-2.5.jar >commons-logging-1.1.1.jar >ezmorph-1.0.

用JavaMelody来监控我们的web应用

可以在 http://code.google.com/p/javamelody/downloads/list 下载它,最新的版本发布在https://github.com/javamelody/javamelody/releases/tag/1.51.0 我下载一个javamelody-1.51.0.zip 解压开来,将jira-javamelody.jar放在我web程序的目录下, 这里配置的是一个简单的jsp+servlet应用,修改你的web.xml <filter>       <

Java 学习文章汇总

目前JAVA可以说是产业界和学术界最热门的语言,许多人都很急切想把JAVA学好. 但学习是需要步骤的,除非像电影中演的那样,能够把需要的专业技巧下载到脑海:主角只花了几秒下载资料,就马上具备飞行员的技巧,或是武侠小说中的运功传送内力的方式,否则花上一段时间苦学是少不了的.花时间,不打紧,就怕方法错误,事倍功半. java 学习文章推荐.java学习线路.java 知识图谱. HTML5 微数据 RDFa/微格式 使用 jQuery 的 Autocomplete 插件实现input输入提示功能 创

struts2配置文件的加载顺序以及 struts.xml package 的配置说明

查看StrutsPrepareAndExecuteFilter:(核心过滤器)两个功能 :预处理 和 执行 在预处理功能中 init 方法中会有加载配置文件的代码: dispatcher.init(); init_DefaultProperties(); // [1]                  ---- 加载org.apache.struts.default.properties.配置的是struts2的所有常量. init_TraditionalXmlConfigurations();

Struts2的配置文件中, &lt;package&gt;的作用,&lt;action&gt;&lt;result&gt;重名?

问:Struts2的配置文件中, <package>的作用是什么? 答:防止action重名啊,例如前台和后台,总会有很多地方起名重复的! 问:可是访问的时候,不也是访问action吗,能体现package的name的作用吗? 答:不同的package,你难道还要设置一样的namespace吗?! 事实胜于雄辩 1.同样的package,即name相同,namespace不同的话,会报错. 2.不同的package,namespace一样的话,就失去了包的作用,同名action会报错. 3.同

【转-整理】Struts2中package,action,result,method配置详解

1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 4 "http://struts.apache.org/dtds/struts-2.3.dtd"> 5 <struts> 6

struts2配置中Action的name 和package的name和namespace作用

struts2配置中Action的name 和package的name和namespace是什么作用 在struts2 struts.xml 配置中  <package name="ajax" extends="json-default" namespace="/json">           <action name="ajaxLogin" class="com.rg.email.action.