Struts2 Struts.xml DTD 说明

转自:http://blog.csdn.net/cuixiuqin1954/article/details/4228741

关于Struts2中的核心配置文件struts.xml,就其DTD(Document Type Definition)文件进行一下说明

<?xml version="1.0" encoding="UTF-8"?>

<!-- START SNIPPET: strutsDtd -->

<!--
   Struts configuration DTD.
   Use the following DOCTYPE

   <!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
-->

<!ELEMENT struts (package|include|bean|constant)*>

<!--

struts标签下可以出现下面标签0次或多次

package:将多个action组织成一个package的方式。

include:用来包含一个配置文件,目的是为了配置文件能够分离。

bean:被容器的框架创建,并注入到框架内部的对象。主要用来关联第三方类库,比如spring,一般应用程序不需要配置。

contant:用来设置Struts2运行的环境。效果等同于在struts.properties中配置,或者web.xml中配置FilterDispatcher的init param

-->

<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, global-results?, global-exception-mappings?, action*)>

<!--

package标签下可以出现下面标签0次或者1次

result-types:用来定义结果类型

interceptors:用来定义拦截器

default-interceptor-ref:为package定义默认使用的拦截器,这个package中所有的action(如果这个action没有设置自己使用的拦截器)都会调用设置的默认拦截器

default-action-ref:这个package默认使用的action

global-results:为这个package设置共通使用的result,对这个package下的所有action都有效

global-exception-mappings:为这个package定义共通的当发生异常的时候,所用到的result,需与global-results结合使用

package标签下可以出现下面标签0次或者多次

action:为这个package定义action信息。

-->
<!ATTLIST package
    name CDATA #REQUIRED
    extends CDATA #IMPLIED
    namespace CDATA #IMPLIED
    abstract CDATA #IMPLIED
    externalReferenceResolver NMTOKEN #IMPLIED
>

<!--

package标签可以必须出现下面的属性

name:为此package定义一个唯一的标识

package标签可以出现下面的属性(也可不出现)

extends:此package所继承的package

namespace:此package的命名空间(其下所有的result和action都会在RootContext后加上设置的命名空间),如果不设定,默认为RootContext。

abstract:设置此package为抽象的,抽象的package里不能存在action。此属性的值为true或者false,默认为false

externalReferenceResolver:用来整合第三方类库,如spring

-->

<!ELEMENT result-types (result-type+)>

<!--

result-types标签下必须出现result-type标签1次或者多次

result-type:用来定义一个结果类型

-->

<!ELEMENT result-type (param*)>

<!--

result-type标签下可以出现param标签0次或者多次

用来定义此结果类型需要用到的参数

-->
<!ATTLIST result-type
    name CDATA #REQUIRED
    class CDATA #REQUIRED
    default (true|false) "false"
>

<!--

result-type标签必须包含下面属性

name:用来唯一标识这个结果类型

class:此结果类型的java class的位置

default:是否设置为默认的结果类型,默认值为false(不设置为默认的结果类型)。如果设置为默认的结果类型,则如果一个result没有指定type将会默认使用此result type。

-->

<!ELEMENT interceptors (interceptor|interceptor-stack)+>

<!--

interceptors标签下必须出现下面的标签1次或者多次(两者任一,或者同时)

interceptor:用来定义一个拦截器

interceptor-stack:用来定义一个拦截器栈

-->

<!ELEMENT interceptor (param*)>

<!--

interceptor标签下可以出现param标签0次或者多次

param:用来设置此拦截器需要的参数

-->
<!ATTLIST interceptor
    name CDATA #REQUIRED
    class CDATA #REQUIRED
>

<!--

interceptor必须包含下面属性

name:用来唯一标识此拦截器

class:用来指定此拦截器java class的位置

-->

<!ELEMENT interceptor-stack (interceptor-ref+)>

<!--

interceptor-stack标签下必须出现interceptor-ref标签1次或多次

interceptor-ref:用来指定此拦截器栈使用的拦截器

-->
<!ATTLIST interceptor-stack
    name CDATA #REQUIRED
>

<!--

interceptor-stack标签必须包含name属性,用来唯一标识此拦截器栈

-->

<!ELEMENT interceptor-ref (param*)>

<!--

interceptor-ref标签下可以出现param标签0次或多次,用来设置使用拦截器时所需的参数。

-->
<!ATTLIST interceptor-ref
    name CDATA #REQUIRED
>

<!--

interceptor-ref标签必须包含name属性,用来指定使用的拦截器名称或者拦截器栈的名称。

-->

<!ELEMENT default-interceptor-ref (param*)>

<!--

default-interceptor-ref标签下可以出现param标签0次或多次,用来设置使用默认拦截器时所需的参数。

-->
<!ATTLIST default-interceptor-ref
    name CDATA #REQUIRED
>

<!--

default-interceptor-ref标签必须包含name属性,用来指定默认使用的拦截器名称或者拦截器栈的名称。

-->

<!ELEMENT default-action-ref (param*)>

<!--

default-action-ref标签下可以出现param标签0次或多次,用来设置使用默认action时所需的参数。

-->
<!ATTLIST default-action-ref
    name CDATA #REQUIRED
>

<!--

default-action-ref标签必须包含name属性,用来指定默认使用的action名称。

-->

<!ELEMENT global-results (result+)>

<!--

global-results标签下必须出现result标签1次或者多次,用来设置共通的result

-->

<!ELEMENT global-exception-mappings (exception-mapping+)>

<!--

global-exception-mappings标签下必须出现exception-mapping标签1次或者多次,用来指定共通的,当出现exception时,所参照的result

-->

<!ELEMENT action (param|result|interceptor-ref|exception-mapping)*>

<!--

action标签下可以出现下面标签0次或者多次

param:用来设置调用次action所用到的参数

result:为此action定义结果(可以是一个jsp或者是一个action)

interceptor-ref:为此action设置使用的拦截器

exception-mapping:为此action定义,当有异常发生时,所参照的result

-->
<!ATTLIST action
    name CDATA #REQUIRED
    class CDATA #IMPLIED
    method CDATA #IMPLIED
    converter CDATA #IMPLIED
>

<!--

action标签必须包含下面这些属性

name:用来唯一标识此action

class:用来指定次action的java class的位置

action标签可以包含下面这些属性

method:为此action指定调用的方法,不指定时默认调用execute方法

converter:为此action指定使用的converter,不指定时使用默认的converter

-->

<!ELEMENT param (#PCDATA)>
<!ATTLIST param
    name CDATA #REQUIRED
>

<!--

param标签必须包含name属性

-->

<!ELEMENT result (#PCDATA|param)*>

<!--

result标签下可以出现param标签0次或者多次

-->
<!ATTLIST result
    name CDATA #IMPLIED
    type CDATA #IMPLIED
>

<!--

result标签可以包含下面属性

name:用来标识此result

type:结果的类型

-->

<!ELEMENT exception-mapping (#PCDATA|param)*>

<!--

exception-mapping标签下可以出现param标签0次或者多次

-->
<!ATTLIST exception-mapping
    name CDATA #IMPLIED
    exception CDATA #REQUIRED
    result CDATA #REQUIRED
>

<!--

exception-mapping标签可以包含下面属性

name:用来标识此exception-mapping

exception-mapping标签必须包含下面属性

exception:发生的exception的类型

result:当发生exception时所参照的result

-->

<!ELEMENT include (#PCDATA)>
<!ATTLIST include
    file CDATA #REQUIRED
>

<!--

include标签必须包含file属性,用来指定所要include的文件的位置。

-->

<!ELEMENT bean (#PCDATA)>
<!ATTLIST bean
    type CDATA #IMPLIED
    name CDATA #IMPLIED
    class CDATA #REQUIRED
    scope CDATA #IMPLIED
    static CDATA #IMPLIED
    optional CDATA #IMPLIED
>

<!ELEMENT constant (#PCDATA)>
<!ATTLIST constant
    name CDATA #REQUIRED
    value CDATA #REQUIRED
>

<!--

constant标签必须包含下面属性

name:指定constant的key

value:指定constant的value

-->

<!-- END SNIPPET: strutsDtd -->

Struts2 Struts.xml DTD 说明

时间: 2024-11-04 10:11:03

Struts2 Struts.xml DTD 说明的相关文章

配置Struts.xml DTD文件报错

报错信息为: The content of element type "struts" must match "((package|include|bean|  constant)*,unknown-handler-stack?)" 先来说说Struts框架的使用.1,下载Struts开发包:2,将需要的jar包导入到项目中 http://archive.apache.org/dist/struts/source/      struts源码包下载地址 http:/

Struts2 struts.xml相关配置

<?xml version="1.0" encoding="UTF-8" ?> <!--指定struts2配置文件的DTD信息--> <!DOCTYPE struts PUBLIC "-//apache Software Foundation//DTD Struts Configuation 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd&quo

struts2——配置struts.xml文件

在struts2框架中struts.xml是应当放到src的根目录,程序编译后会将struts.xml放到WEB-INF/classes目录下. Struts2在web.xml中的一般配置如下: Xml代码   <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFil

修改Struts2的struts.xml配置文件位置

默认情况下,Struts2的配置文件名称为struts.xml,且该文件放在src根目录下.如下图所示: 如果需要修改struts.xml的位置,例如把struts.xml放到struts2文件夹下,结构如下图所示,该怎么办呢? Struts2在web.xml中的一般配置如下: <!-- 配置struts2过滤器:StrutsPrepareAndExecuteFilter --> <filter> <filter-name>struts2</filter-name

struts2中struts.xml配置文件详解

struts.xml的常用配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts

struts2中struts.xml文件用通配符配置

在使用struts2的时候,能简单快速地连接action和jsp页面.主要是神奇的配置文件:struts.xml 在起作用. 示例: 这是目录结构: 来一份可用的struts.xml的代码: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//

struts2学习笔记--struts.xml配置文件详解

这一节主要讲解struts2里面的struts.xml的常用标签及作用: 解决乱码问题 <constant name="struts.i18n.encoding" value="utf-8"/> //设置编码格式为utf-8 自定义扩展名 <constant name="struts.action.extension" value="action,,wang"/> //struts默认扩展名是actio

struts2 一个简洁的struts.xml

struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts>

关于Struts2中struts.xml文件分层问题

没事折腾struts2,遇到异常,浪费好长时间,于是干脆把所有可能的异常都给跑一遍,来个痛快的. 文件的结构 WEB-INF |------configs |-------struts-common.xml |-------struts.xml |------web.xml 遇到的异常: WARNING: Could not find action or result: /Pro_struts2/common/login!preLogin There is no Action mapped fo