高手可以跳过。。。。
最近因项目需开始重新使用Struts2,很久没用过了,所以花了点时间去重新学习,无论是spring还是hibernate,都是通过加载配置文件来实现功能。所以这里我就先开始掌握STRUTS的配置文件。
好记性不如烂笔头,再说拉写在论坛里面可能对大伙有点用处,还可以给自己加分。。。何乐而不为呢!
关于DTD(Document Type definition),
大家可以参考这里:http://www.w3schools.com/dtd/default.asp
英语的,不是ZB,是强迫自己养成习惯一定要看英语版的。
谁让标准都是老外在定呢???? 这里感叹一下!
先说下结构,根元素是struts
在struts下包含四个子元素,分别是package、include、bean、constact。
- <!ELEMENT struts (package|include|bean|constant)*>
--------------------------------------------------------------------------------------------------------
看下package元素的定义:
- <!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-exception-mappings?, action*)>
- <!ATTLIST package
- name CDATA #REQUIRED
- extends CDATA #IMPLIED
- namespace CDATA #IMPLIED
- abstract CDATA #IMPLIED
- externalReferenceResolver NMTOKEN #IMPLIED
- >
先看下package的属性:
name:可以随便取,可以被其他package继承,字符串类型。这个是必填的。注意后面的#REQUIRED。
extends:按照我的实验和google的说法,这个很重要,继承struts-defalut.xml的一些东西,而在struts-default.xml中包含了基础的拦截器配置信息。继承了这个,我们就可以直接使用里面的拦截器啦。
namespace:命名空间,struts2以命名空间来管理action,同一个命名空间里面不能有相同名的action。有点类似Java包。
package下的子元素:
这里我只说下action这个子元素,配置action就是让Struts容器知道action的存在,并且能调用该action来处理用户请求,应该说action是struts2的基本程序单位:
原理:在这里我们要理解action只是一个控制器,按照MVC的架构他属于C,所以需要配置M与V的映射给ACTION。
我们知道action是package的子元素,所以struts是通过包来组织action的。很类似于我们平时写Java程序,因为我们的类也是通过包来组织的。
先看下action的定义:
引用
<!ELEMENT action (param|result|interceptor-ref|exception-mapping)*>
<!ATTLIST action
name CDATA #REQUIRED
class CDATA #IMPLIED
method CDATA #IMPLIED
converter CDATA #IMPLIED
>
这里说下action的重要属性和子元素:
属性name :必填,而且在同一个包下唯一,字符串
属性class:指定action类
子元素result,:
这个元素非常简单,只有2个属性,分别是name和type
type配置了转发类型,常用的类型有dispatcher(默认),redirect,redirectAction,plainText。分别是转发、重定向、防止重复提交的重定向、显示原始文件内容,当我们需要显示源码时可以使用。
这里给一个简单的实例:
- <struts>
- <package name="demo"extends="struts-default">
- <action name="submit" class="action.MoreSubmitAction">
- <result name="save">
- /result.jsp
- </result>
- <result name="print">
- /result.jsp
- </result>
- </action>
- </package>
- </struts>
ps:在package中有个子元素叫做global-results,这个是定义全局result的。当我们平凡使用一个相同的视图时,可以考虑使用该元素。
--------------------------------------------------------------------------------------------------------
接下来是include:
- <!ELEMENT include (#PCDATA)>
- <!ATTLIST include
- file CDATA #REQUIRED
- >
这个元素虽然只有一个file属性,但是我想以我们现在的项目规模以及为了以后的维护和扩展,这个一定要用。
一旦package、action、interceptors等配置比较多时,都放到一个struts.xml文件不太容易维护。因此,就需要将struts.xml文件分成多个配置文件,然后在struts.xml文件中使用<include>标签引用这些配置文件。
--------------------------------------------------------------------------------------------------------bean元素:
- <!ELEMENT bean (#PCDATA)>
- <!ATTLIST bean
- type CDATA #IMPLIED
- name CDATA #IMPLIED
- class CDATA #REQUIRED
- scope CDATA #IMPLIED
- static CDATA #IMPLIED
- optional CDATA #IMPLIED
- >
这个我没用过,个人理解是这样,这个元素是为了扩展struts2用的,我们可以自己写的组件注入到struts2中,这样struts2就有很大的扩展性啦。而且struts2自身也是通过这种方式生成的。好像。。。。待验证!
--------------------------------------------------------------------------------------------------------
constant元素:
- <!ELEMENT constant (#PCDATA)>
- <!ATTLIST constant
- name CDATA #REQUIRED
- value CDATA #REQUIRED
- >
配置Struts2的常量属性,struts容器会读取这些配置来改变struts的运行。具体如下(Copy自网上):
如果有错误的地方,欢迎指出。。。。。。。。好累。。。一起成长,学好英语,共勉。
分享到:
相关推荐
在配置Struts2时,通常会使用一个名为`struts.xml`的配置文件,该文件定义了应用程序的行为和组件。为了在开发环境中获得更好的代码辅助和提示,我们需要使IDE(例如Eclipse)理解`struts.xml`文件的结构,这通常...
在Struts2中,`struts.xml`是核心配置文件,它定义了应用的行为、动作、结果和其他组件。为了在Eclipse这样的集成开发环境中获得代码提示和自动完成,我们需要引入DTD(文档类型定义)文件,例如`struts-2.3.dtd`。 ...
- Struts2 DTD 是XML文档类型定义,它规定了struts2配置文件(如struts.xml或struts-default.xml)的语法和元素。这些元素定义了Action、结果、拦截器等配置,使得开发者可以声明式地配置应用行为。 2. **struts-...
本文将深入探讨Struts2配置文件的DTD(文档类型定义),以及如何使用这些配置元素。 首先,Struts2的配置文件基于DTD来解析和验证其结构。DTD是一套规则,用于定义XML文档的合法结构和元素。在Struts2中,配置文件...
在Struts 2中,DTD(Document Type Definition)文件扮演着重要的角色,它们定义了配置文件的结构和规则,使得开发者能够按照规范编写配置文件来控制应用程序的行为。 首先,我们来看看`struts-2.0.dtd`。这个DTD...
在Struts2中,DTD文件用于验证Struts配置文件(struts.xml)的语法正确性。例如,`struts-default.dtd`包含了默认的Struts2配置元素和属性的定义,确保了开发者在编写配置文件时遵循了正确的规范。将这些DTD文件放在...
配置文件在Struts2中起着至关重要的作用,它定义了框架的行为、动作映射、拦截器和其他关键设置。以下是Struts2配置文件的一些核心元素和属性的详细说明: 1. **配置文件结构**: Struts2的配置通常存储在一个名为...
然后,我们创建Struts2的核心配置文件`struts2.xml`。这是一个XML文件,它定义了应用程序的行为和映射。例如: ```xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//...
标题"struts2 XML dtd"指的是Struts2框架中使用的XML配置文件所遵循的DTD文件。这些DTD文件定义了Struts2配置文件的结构和语法规则,确保配置信息的合法性。例如,`struts-default.xml`、`struts-plugin.xml`和`...
本文将深入探讨Struts 2.0的相关知识点,包括DTD(Document Type Definition)的作用、Struts配置文件`struts.xml`的重要性和SSH2框架的搭建过程。 首先,`struts-2.0.dtd`是Struts 2.0的文档类型定义,它是XML文件...
### Struts2配置文件及其代码示例解析 #### 一、Struts2概述 Struts2是一个基于MVC模式的开源Web应用框架,它继承了Struts1的优点,并且进行了大量的改进,支持拦截器、结果类型、动态方法调用等功能。在Struts2中...
### Struts2配置文件详解 #### 一、引言 在Java Web开发中,Struts2框架因其灵活性和强大的功能而被广泛采用。Struts2框架的配置主要通过多个XML文件来实现,这些配置文件定义了应用程序的行为和结构。本文将详细...
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with ... The ASF licenses this file to You under the Apache License,...
Struts2的配置文件遵循DTD(Document Type Definition)标准,用于定义文档的结构和元素类型。文章中的示例引用了Struts官方提供的DTD文件`struts-2.0.dtd`,这确保了配置文件的正确性和兼容性。配置文件主要由`...
Struts 2 配置文件解析与深度剖析 在Java Web开发领域,Struts 2 框架作为MVC(Model-View-Controller)架构模式的杰出代表,以其强大的功能和灵活的配置赢得了广大开发者的青睐。Struts 2 的核心配置文件struts....
3. **配置struts.xml**:在Struts2的主配置文件struts.xml中,我们需要声明Tiles的配置文件路径,如下所示: ```xml <constant name="struts.tiles.config.file" value="classpath:tiles-defs.xml"/> ``` 这里的...
在使用Struts2进行开发时,配置文件的管理是至关重要的,因为它定义了应用的行为和组件间的交互。然而,手动配置可能会导致错误和效率低下。本教程将指导你如何配置Struts2的配置文件,以实现IDE中的自动提示功能,...
例如,`struts-config_1_2.dtd`定义了`struts-config.xml`的结构,确保开发者正确地编写配置文件。 这个压缩包可能包含以下DTD文件: 1. **struts-config_1_2.dtd**:定义了`struts-config.xml`的元素和属性。 2. ...
#### 一、Struts配置文件概述 在Struts框架中,`struts.xml`配置文件扮演着极其重要的角色。它主要用于定义应用中的各种配置信息,包括但不限于包(Package)、拦截器(Interceptor)、Action以及结果(Result)等...