`
yuyangsoft
  • 浏览: 36637 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Struts 2.0 ---struts.xml 核心配置说明

阅读更多
Struts 框架的核心配置文件就是 struts.xml 配置文件,该文件主要负责管理 Struts 2 框架的业务控制器 Action。
        在默认情况下,Struts 2 框架将自动加载放在 WEB-INF/classes 路径下的 struts.xml文件。所以在第一篇文章中,新建struts.xml时,要求一定要建立在src目录下,该目录下的内容在开发中会被复制到 WEB-INF/classes 目录下(.java文件不会被复制过去,编译好后的.class文件直接被创建在那里面, myeclipse下的web project是这样的) .
struts.xml 的根元素是struts

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC  
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "struts-2.0.dtd">
<!-- 根元素是Struts -->
<struts>

</struts>

其中最重要的元素是package,是根元素struts的子元素
package是action元素的父元素


Java代码
<struts>  
     <package>  
         <action name="" class="">              
         </action>  
     </package>  
</struts>
<!--   
         该元素是struts的子元素  
         该元素只有一个属性 file,即需要倒入的外部配置文件  
         下面这个写法基本就是其标准形式了  
     -->  
     <!-- ******************************************** -->  
     <include file="hack/conf/strutsconf.xml" />  
     <!-- ******************************************** -->  
</struts>  

使用 include 的好处: 当我们开发一个项目,配置文件肯定会写一大堆,如果写在一个配置文件里一定冗长,查看和修
改都不方便,所以使用include把配置文件分开来便于查找和修改,完全有理由让struts.xml仅仅是作为一个目录来使用
,至于其它配置文件的分配,可以根据模块也可以根据功能来划分

package,先给出package的定义
package是把actions,results,result types,interceptors和stacks分组成逻辑单元的一种方式
,以分享一些共同设置,包跟对象一样可以扩展,也可以被"子"包覆盖部分属性
从以上定义我们可以看出package不仅是作为逻辑分隔,而且还能具有继承的特性
name属性仅仅是个代号(id),我们可以随边取,只要不冲突(不重复),而extends代表继承其它的包
里面填参数是其它包的name属性

namespace代表名称空间,namespace的作用是控制相应package下的action的url地址,有点象java的classpath

abstract,这个和我们写java的abstract类一样,就是让人家来继承的 只有name是必需的

extends也是必需的,因为我们需要从struts2默认载入的struts-default.xml
文件的struts-default包中继承一些东西,有兴趣可以解压struts2-core-2.0.9.jar找到struts-defautl.xml查看内容

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

action,action是struts2的基础"工作单元",一个action一般就是一个请求(或点击按钮或提 交表单),action元素有两部分,一个友好的名字(URL相关,如Login.action)和一个负责"处理"的类

<!--  
    name表示*.action前面那部分这里即是表示Conf.action
    class表示使用哪个类来处理此请求
    method 是可选属性,表示使用哪个方法来处理, 如果缺此项默认调用类中的execute()方法 也可以有其他方法,要调用的方法必需符合以下三个条件     1 是public 2 返回String 3 没有参数 
-->
<action name="Conf" class="hack.conf.HelloAction" method="方法名">
</action>

result,result是Action执行后返回的字符串 。

<!-- 基本形式 -->
    <result name="success" type="dispatcher">
        <param name="location">/conf/welcome.jsp</param>
    </result>
    <!--  
        如果location是唯一的参数,象上面这个,还可以改写为下面形式   如果result标签对中间没有 param 标签,就把result标签对中间   的文本作为location
    -->
    <result name="success" type="dispatcher">/conf/welcome.jsp</result>
    <!-- 如果type是"dispatcher",类似于servlet标准中ServletDispatcher的forward-->
    <result name="success">/conf/welcome.jsp</result>
    <!-- 如果name是"success",还可以继续简化 -->
    <result>/conf/welcome.jsp</result>
在这种情况下,我们就可以使用全局result,下面我们来看看其定义
Struts2 允许你为所有Action配置定义一些默认的result映射,它会自动的被这个包中的所有Action以及
扩展包继承,换句话说,如果你在多个Action中使用相同的result映射,你可以把它配置成全局的result
这里做个比喻,package就相当于java的类(class),全局result就相当于类中的成员变量,result就相当于成员方法,所有成员方法都能使用成员变量类可以继承其它类

<!-- ******************************************** -->
        <global-results>
            <result name="error">/conf/error.jsp</result>
        </global-results>
        <!-- ******************************************** -->
分享到:
评论

相关推荐

    struts-2.0.dtdstruts-2.0.dtdstruts-2.0.dtd

    struts-2.0.dtdstruts.xmlstruts-2.0.dtd

    struts2.0中struts.xml配置文件详解

    struts2.0中struts.xml配置文件详解

    271个java需要用的jar包

    cxf-rt-bindings-xml-2.7.4.jar cxf-rt-core-2.7.4.jar cxf-rt-databinding-jaxb-2.7.4.jar cxf-rt-frontend-jaxws-2.7.4.jar cxf-rt-frontend-simple-2.7.4.jar cxf-rt-transports-http-2.7.4.jar cxf-rt-ws-addr-...

    spring和hibernate__jar包,详细说明看jar包列表

    以下是jar包列表 activation-1.1.jar activiti-engine-5.10.jar activiti-spring-5.10.jar antlr-2.7.7.jar aopalliance-1.0.jar aopalliance.jar asm-3.1.jar aspectjrt.jar ...xml-apis-1.0.b2.jar

    struts2.1.6+spring2.0+hibernate3.2常用配置包

    1 spring的相关包,先添加struts2.0的支持时标记的包; 2 struts2的相关包;以struts2-core-2.1.6版本为准; 注:struts2-core-2.1.8有较大变化需要注意替换相关包,注意尾号尽量不要是单号 例子:xwork-2.1.2....

    JasperReport Struts2 整合所需完整jar

    JasperReport Struts2 web 整合所需完整jar ant-1.7.1.jar antlr-2.7.5.jar asm.jar bsh-2.0b4.jar cglib-2.1.jar commons-beanutils-1.7.0.jar commons-beanutils-1.7.jar ...xml-apis.jar xwork-2.0.4.jar

    SSH代码生成工具 SSH代码生成器

    JSP文件--&gt; 具有Struts2.0支持的增、删、改、查页面及自定义查询、自动分页等操作 Action--&gt; 业务Action.java和导出Excel的Action等 VO --&gt; bean.java及 bean.hbm.xml配置文件 Service --&gt; Service接口定义类 ...

    AutoCode代码生成器(SSH版)

    【用于JAVA开发中的 Struts2.0 + Spring2.0 + Hibernate3.2 框架整合程序开发】 强大的支撑功能,堪称JAVA SSH编程的利器,你绝对值得拥有! 自动生成以下所有内容(即:完整的Java SSH支持的工程) Sturts2.0配置--&gt;...

    AutoCode代码生成器【SSH版】

    【用于JAVA开发中的 Struts2.0 + Spring2.0 + Hibernate3.2 框架整合程序开发】 强大的支撑功能,堪称JAVA SSH编程的利器,你绝对值得拥有! 自动生成以下所有内容(即:完整的Java SSH支持的工程) Sturts2.0配置--&gt;...

    ssh代码生成器轻松、快捷

    用于JAVA开发中的 Struts2.0 + Spring2.0 + Hibernate3.2 框架整合程序开发】 强大的支撑功能,堪称JAVA SSH编程的利器,你绝对值得拥有! 自动生成以下所有内容(即:完整的Java SSH支持的工程) Sturts2.0配置--&gt; ...

    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.0_Hibernate3_spring2.0 实现用户注册

    Struts2.0_Hibernate3_spring2.0 部署Web应用请按如下步骤进行: 1. 进入reg_login路径下,将mysql.sql脚本中的语句导入MySQL数据库。 2. 修改reg_login\WEB-INF路径下的applicationContext.xml文件,将其中的...

    培训体系管理系统-oracle-ssh

    结业时所做。。参考用,虽然不咋地,但是有些技能实现的方法可以借鉴。。。上传的lib包中需要加入以下文件,因为容量过大,没有上传,请见谅! antlr-2.7.6.jar antlr-2.7.6...xalan.jar xerces-2.6.2.jar xml-apis.jar

    Maven2_Struts2.0打包实例源码

    Maven2_Struts2.0打包实例 环境:Eclipse3.3.2 jdk 1.5 tomcat:5.5.6 apache-maven-2.0.9 开发步骤: * 安装Eclipse对maven的插件 * 先用命令建一个Web项目:mvn archetype:create -DgroupId=...

    struts2.0的 配置视频

    struts2.0的 配置视频,视频将教会你如何配struts2.0,从struts2。dtd文件 到web.xml struts.xml的配置。

    shtuts2.0配置模板struts.xml

    shtuts2.0配置模板struts.xml详细说明了各个标签的使用说明

    struts2.0 要用到的jar包

    struts2.0 要用到的 jar 包 commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,commons-logging-1.1.jar,freemarker-2.3.13.jar,ognl-2.6.11.jar,xwork-2.1.2.jar,struts2-core-2.1.6.jar 7个包 copy到WebRoot/WEB...

    struts2.0非常实用的学习实例 本人自己精心准备

    拦截器 验证器 struts.xml配置文档详解 本人在该实例中遇到的最大问题及解决方案: "struts2.0做文件上传关于所加载的错误包造成的问题心得" 1:commons-io-1.4.jar 做上传时,如果用的该包是1.0的就经常出经上传不...

    Struts2中Struts.xml配置文件详解

    绝对的好东西 struts2.0中struts.xml配置文件详解

Global site tag (gtag.js) - Google Analytics