- 浏览: 310210 次
最新评论
-
nucleus:
为什么都是没有图的。。。。。。。求图片啊
《研磨struts2》第七章 值栈和OGNL 之 7.4 ActionContext和ServletActionContext -
nucleus:
为什么都是没有图的。。。。。。。求图片啊
《研磨struts2》第七章 值栈和OGNL 之 7.4 ActionContext和ServletActionContext -
nucleus:
为什么都是没有图的。。。。。。。求图片啊
《研磨struts2》第七章 值栈和OGNL 之 7.4 ActionContext和ServletActionContext -
nucleus:
为什么都是没有图的。。。。。。。求图片啊
《研磨struts2》第七章 值栈和OGNL 之 7.4 ActionContext和ServletActionContext -
hunanjun000:
《研磨struts2》第四章 Action 之 4.5 Action的其它重要知识
A.1 struts.xml的配置
A.1.1 概述
前面已经分散学习了Struts2的各部分知识,相应的配置也分散到相关部分去学习了,这里再把这些配置的知识梳理和总结一下,以利于大家更好的掌握。
Struts2的配置文件主要是struts.xml文件,以前还有一个struts.properties文件,现在struts.properties文件的内容基本上都可以在struts.xml文件进行配置,也就不再重要了。
A.1.2 DOCTYPE和根元素
struts.xml文件必须包含如下的DOCTYPE的定义,如果是struts-2.0的dtd,示例代码如下:
如果是struts-2.1的dtd,示例代码如下:
struts.xml文件的根元素是<struts>,它的dtd定义是:
unknown-handler-stack:这个是2.1的dtd加入的,用来配置当找不到某些资源的时候进行处理的处理器的栈。
A.1.3 package元素
用来逻辑上组织Struts的配置,这个元素的dtd定义如下:
简单的配置示例:
A.1.4 action元素
action元素用来配置一个动作,这个元素的dtd定义如下:
简单的配置示例:
A.1.5 include元素
include元素用来引入其他相关模块的struts配置文件。这个元素的dtd定义如下:
简单的配置示例:
A.1.6 bean元素
bean元素用来配置一个bean,可以是由Struts来创建这个bean,也可以是使用给定bean的静态方法。这个元素的dtd定义如下:
简单的配置示例:
A.1.7 constant元素
constant元素用来覆盖在default.properties文件里面配置的常量值。有了constant元素就不必再去配置struts.properties文件了,把struts.properties里面的配置,直接使用constant元素配置到struts.xml里面。这个元素的dtd定义如下:
简单的配置示例:
A.1.8 unknown-handler-stack元素
unknown-handler-stack元素用来配置当找不到某些资源的时候进行处理的处理器的栈。这个元素的dtd定义如下:
简单的配置示例:
- <bean type="com.opensymphony.xwork2.UnknownHandler" name="handler1" class="com.opensymphony.xwork2.config.providers.SomeUnknownHandler"/>
- <bean type="com.opensymphony.xwork2.UnknownHandler" name="handler2" class="com.opensymphony.xwork2.config.providers.SomeUnknownHandler"/>
- <unknown-handler-stack>
- <unknown-handler-ref name="handler1" />
- <unknown-handler-ref name="handler2" />
- </unknown-handler-stack>
A.1.9 unknown-handler-ref元素
unknown-handler-ref元素用来参照处理器。这个元素的dtd定义如下:
简单的配置示例:
A.1.10 default-action-ref元素
default-action-ref元素用来配置默认的动作,如果在package里面找不到与当前URL对应的多座,那么就调用这个action。这个元素的dtd定义如下:
简单的配置示例:
A.1.11 default-interceptor-ref元素
default-interceptor-ref元素用来配置默认的拦截器或拦截器栈,如果在action里面没有明确的定义或引用拦截器或拦截器栈,那么就调用这里配置的拦截器或拦截器栈。这个元素的dtd定义如下:
简单的配置示例:
A.1.12 default-class-ref元素
default-class-ref元素用来配置默认的类,如果没有为某个Action指定具体的class值时,将自动引用这个默认的类。这个元素的dtd定义如下:
简单的配置示例:
A.1.13 exception-mapping元素
exception-mapping元素用来配置处理动作没有处理的例外。这个元素的dtd定义如下:
简单的配置示例:
- <action name="helloworldAction" class="cn.javass.action.action.HelloWorldAction">
- <exception-mapping result="math-exception" exception="java.lang.ArithmeticException"/>
- <exception-mapping result="math-exception" exception="java.lang.Exception"/>
- <result name="math-exception">/error.jsp</result>
- <result>/s2impl/welcome.jsp</result>
- </action>
A.1.14 global-exception-mapping元素
global-exception-mappings元素用来配置公共的exception-mapping,可以包含1到多个的exception-mapping元素。这个元素的dtd定义如下:
A.1.15 global-results元素
global-results元素用来配置公共的result,可以包含1到多个的result元素。这个元素的dtd定义如下:
A.1.16 interceptor元素
interceptor元素用来配置拦截器。这个元素的dtd定义如下:
简单的配置示例:
A.1.17 interceptor-ref元素
interceptor-ref元素用来应用拦截器或拦截器栈。这个元素的dtd定义如下:
它有如下的属性:
简单的配置示例:
要注意:在Action里面配置了拦截器的引用,会覆盖掉默认的配置,因此通常需要再手动的引用defaultStack。
A.1.18 interceptor-stack元素
interceptor-stack元素用来配置拦截器栈。这个元素的dtd定义如下:
它有如下的属性:
简单的配置示例:
A.1.19 interceptors元素
interceptors元素用来包装多个拦截器。这个元素的dtd定义如下:
简单的配置示例:
- <interceptors>
- <interceptor name="alias" class="com.opensymphony.xwork2.interceptor.AliasInterceptor"/>
- <interceptor name="autowiring" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
- ……
- <interceptor-stack name="basicStack">
- <interceptor-ref name="exception"/>
- <interceptor-ref name="servletConfig"/>
- <interceptor-ref name="prepare"/>
- <interceptor-ref name="checkbox"/>
- <interceptor-ref name="multiselect"/>
- <interceptor-ref name="actionMappingParams"/>
- <interceptor-ref name="params">
- <param name="excludeParams">dojo\..*,^struts\..*</param>
- </interceptor-ref>
- <interceptor-ref name="conversionError"/>
- </interceptor-stack>
- ……
- </interceptors>
A.1.20 param元素
param元素用来嵌套在其他元素中,为这些元素设置参数,比如:action、result-type、interceptor等等。这个元素的dtd定义如下:
简单的配置示例:
A.1.21 result元素
result元素用来为action指定结果。这个元素的dtd定义如下:
简单的配置示例:
A.1.22 result-type元素
result-type元素用来注册结果类型,也就是具体处理结果的类。这个元素的dtd定义如下:
简单的配置示例:
A.1.23 result-types元素
result-types元素用来包含一个到多个result-type的定义。这个元素的dtd定义如下:
简单的配置示例:
私塾在线网站原创《研磨struts2》系列
转自请注明出处:【http://sishuok.com/forum/blogPost/list/0/4191.html】
欢迎访问http://sishuok.com获取更多内容
发表评论
-
研磨struts2 目录贴
2012-08-24 12:12 163531.1 《研磨struts2》 第一章 Struts2 ... -
跟着cc学设计 之 研磨设计模式 视频教程 出炉了
2012-08-15 07:16 2研磨设计模式——跟着CC学设计系列精品课程,上线了! ... -
研磨struts2 目录
2012-07-30 21:15 2471.1 《研磨struts2》 第一章 Strut ... -
研磨struts2 目录
2012-07-30 16:54 361.1 《研磨struts2》 第一章 Stru ... -
《研磨struts2》A.2 struts.properties的配置 之 A.2.1 概述
2012-07-09 12:10 3071A.2.1 概述 如果我们希望覆盖在 ... -
《研磨struts2》第二十一章 零配置 之 21.3 通过注解来实现零配置
2012-07-06 08:07 292921.3 通过注解来实现零配置 21.3.1 ... -
《研磨struts2》第二十一章 零配置 之 21.2 约定大于配置
2012-07-05 10:44 247421.2 约定大于配置 21.2.1 约定 ... -
《研磨struts2》第二十一章 零配置 之 21.1 概述
2012-07-05 10:44 232621.1 概述 21.1.1 零配置概述 在 ... -
《研磨struts2》第二十章 整合SiteMesh 之 20.3 整合Struts2与SiteMesh
2012-07-04 08:15 2089在Struts2中使用SiteMesh ... -
《研磨struts2》第二十章 整合SiteMesh 之 20.2 单独使用SiteMesh
2012-07-03 08:00 210420.2 单独使用SiteMesh 20. ... -
《研磨struts2》第二十章 整合SiteMesh 之 20.1 调整应用的风格
2012-07-03 07:59 187020.1 调整应用的风 ... -
《研磨struts2》19.2 使用execAndWait拦截器模拟进度条 之 19.2.1 模拟长时间运行的Action
2012-07-02 12:24 214919.2.1模拟长时间运行的Action ... -
《研磨struts2》第十九章 进度条 之 19.1 使用“进度条”告知用户进度
2012-07-02 12:23 215219.1 使用“进度条”告知用户进度 ... -
《研磨struts2》第十八章 结合JFreeChart 之 18.3 Struts2结合JFreeChart
2012-06-28 12:12 201418.3 Struts2结合JFreeChart ... -
《研磨struts2》第十八章 结合JFreeChart 之 18.2 Struts2插件概述
2012-06-28 12:11 2031Struts2并没有求大求全,企图把所有 ... -
《研磨struts2》第十八章 结合JFreeChart 之 18.1 JFreeChart使用
2012-06-20 15:48 229618.1 JFreeChart使用 18.1.1概 ... -
研磨struts2(1-10章)电子书下载
2012-06-19 07:30 6078研磨struts2的博客文章 私塾在线学习网 《研 ... -
《研磨struts2》第十七章 防止重复提交 之 17.3 更强大的tokenSession拦截器
2012-06-18 13:46 208217.3 更强大的tokenSession拦截器 ... -
《研磨struts2》第十七章 防止重复提交 之 17.2 使用标签
2012-06-18 13:45 233917.2 使用<s:token/>标签 ... -
《研磨struts2》第十七章 防止重复提交 之 17.1 什么是重复提交
2012-06-18 13:45 216017.1 什么是重复提交 所谓重复提交,就是用户在 ...
相关推荐
3. **配置文件**:在Struts2应用中,struts.xml是主要的配置文件,它定义了Action的映射、结果类型、拦截器栈等。通过阅读源代码中的配置文件,你可以了解如何配置Struts2的行为。 4. **结果类型(Result Types)**...
- **项目搭建**:介绍如何创建一个基本的Struts2项目,包括引入必要的jar包、配置web.xml和struts.xml等。 - **Action类**:Action是Struts2的核心组件之一,负责处理用户的请求。本节将详细讲解Action类的设计原则...
1. **Action**:Struts2 中的核心组件之一,负责处理用户的请求并返回一个结果。Action 类通常继承自 `ActionSupport` 类或者实现 `Action` 接口。 - **实现方式**:可以通过实现 `Action` 接口、继承 `...
2. **灵活的配置方式**:除了XML配置文件之外,Struts 2还支持注解配置,使得代码更加简洁。 3. **丰富的拦截器机制**:Struts 2内置了多种拦截器,如文件上传、会话管理等,开发者也可以自定义拦截器以满足特定需求...
由于文件较大,我把这个文档切割为2部分,这是第一部分,请下载完第一部分后一定要下载第二部分,否则不能阅读。
Struts2是一个基于Java的开源Web应用框架,它继承了Struts1的优点并进行了大量改进,包括更强大的MVC支持、更好的灵活性、更丰富的插件生态等。Struts2通过拦截器(Interceptor)机制实现了对HTTP请求的处理,简化了...
《研磨Struts2》这本书是专门针对Struts2框架的学习指南,通过深入浅出的方式讲解了Struts2的核心概念和技术。其配套的PPT和视频旨在帮助读者更直观地理解书中的理论知识,并将其付诸实践。 在研读《研磨Struts2》...
研磨Struts2 高清完整版,请和第一部分一起下载啊
《研磨Struts2》这本书主要介绍了Struts2的基础知识、实践应用以及其核心概念。 1. **MVC模式**:MVC是一种设计模式,用于分离应用程序的业务逻辑、数据和用户界面。在Struts2中,Action类代表Controller,负责处理...
研磨Struts2_12859679_高清完整版
研磨Struts2-高清-完整目录-2011年10月,分享给所有需要的人
研磨设计模式.part2.rar 研磨设计模式.part2.rar 研磨设计模式.part2.rar 研磨设计模式.part2.rar
研磨设计模式.part1.rar 研磨设计模式.part1.rar 研磨设计模式.part1.rar 研磨设计模式.part1.rar
研磨设计模式.part2 一定要下载5部分
研磨设计模式.part4.rar研磨设计模式.part4.rar研磨设计模式.part4.rar研磨设计模式.part4.rar研磨设计模式.part4.rar研磨设计模式.part4.rar
本电子书一共两个压缩文档,本文件为part2. 《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、...附录A常见面向对象设计原则 附录BUML简介 参考文献