MVC模式的回顾<br> 回顾Struts的请求处理时序图<br> 使用超连接的技巧<br> 封装Formbean数据时的问题<br> 防止表单重复提交<br> 使用复选框的技巧<br> 使用下拉列表框的技巧<br> 文件上传<br> DispatchAction的应用<br> Validator框架<br> Struts请求处理过程的源码分析与digester
OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,OGNL是一个开源项目,读者可以访问其官方站点www.ognl.org以获得源代码和相关资料。OGNL是一种功能强大的EL(Expression Language,表达式语言),可以通过简单的表达式来访问Java对象中的属性。
Struts2以WebWork优秀的设计思想为核心,吸收了Struts 1的部分优点,建立了一个兼容WebWork和Struts 1的MVC框架,Struts 2的目标是希望可以让原来使用Struts 1、WebWork的开发人员,都可以平稳过渡到使用Struts 2框架。
Struts2是在WebWork2基础发展而来的。和struts1一样, Struts2也属于MVC框架。不过有一点大家需要注意的是:尽管Struts2和struts1在名字上的差别不是很大,但Struts2和struts1在代码编写风格上几乎是不一样的。那么既然有了struts1,为何还要推出struts2。主要是因为struts2有以下优点:<br> 1 > 在软件设计上Struts2没有像struts1那样跟Servlet API和struts API有着紧密的耦合,Struts2的应用可以不依赖于Servlet API和struts API。 Struts2的这种设计属于无侵入式设计,而Struts1却属于侵入式设计。<br> 2> Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。<br> 3> Strut2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型。在Struts1中,如果我们要实现同样的功能,就必须向Struts1的底层实现BeanUtil注册类型转换器才行。<br> 4> Struts2提供支持多种表现层技术,如:JSP、freeMarker、Velocity等<br> 5> Struts2的输入校验可以对指定方法进行校验,解决了Struts1长久之痛。<br> 6> 提供了全局范围、包范围和Action范围的国际化资源文件管理实现
本章讲述Struts2的工作原理。读者如果曾经学习过Struts1.x或者有过Struts1.x的开发经验,那么千万不要想当然地以为这一章可以跳过。实际上Struts1.x与Struts2并无我们想象的血缘关系。虽然Struts2的开发小组极力保留Struts1.x的习惯,但因为Struts2的核心设计完全改变,从思想到设计到工作流程,都有了很大的不同。Struts2是Struts社区和WebWork社区的共同成果,我们甚至可以说,Struts2是WebWork的升级版,他采用的正是WebWork的核心,所以,Struts2并不是一个不成熟的产品,相反,构建在WebWork基础之上的Struts2是一个运行稳定、性能优异、设计成熟的WEB框架。本章主要对Struts的源代码进行分析,因为Struts2与WebWork的关系如此密不可分,因此,读者需要下载xwork的源代码。
jQuery.Autocomplete是jquery的流行插件,能够很好的实现输入框的自动完成(autocomplete)、建议提示(input suggest)功能,支持ajax数据加载。
目前主要使用的MVC开源架构是Struts,所以这里笔者就以Struts2为例,讲解下关于Struts2的文件上传和下载的机制。
本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。
Struts2各配置文件详解每学习一个框架,我们都免不了要学习一些关于的配置文件,struts2也不例外,下面我就讲一下struts2中几个主要的配置文件。
本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。
本文主要从概念上讲解什么是struts framework,它的框架结构,组件结构,以及简单的配置讲解。对于其应用请参考后面的“struts安装及应用”和“struts实用案例分析”。
这是 struts架构的指导。它包括一些stepbystep的小应用程序,可以让你短时间内用struts工作。
struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。本章详细讨论struts架构。我们将看到struts是如何清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序过程的。我们还将介绍struts提供的类如何使得开发工作更加简单,这些类包括: <br>控制程序流程的类 <br>实现和执行程序事务逻辑的类 <br>自定义的标记库使得创建和验证HTML表单更加容易
第一章 struts2入门与配置<br> 第二章 struts2类型转换<br> 第三章 struts2校验<br> 第四章 struts2校验框架<br> 第五章struts2拦截器<br> 第六章 struts2文件上传与下载<br> 第七章 struts国际化<br> 第八章 struts2深入探索<br> 第九章 一些常见的错误
OGNL(ObjectGraphicNavigationLanguage,对象图导航语言)是一种功能强大的EL(ExpressionLanguage,表达式语言,JSP2.0规范),Struts2的核心表达式语言,OGNL是一个开源JAVA项目,但因为使用Struts2,我们完全不需要知道OGNL到底里面是什么东东,只需要按照Struts2的规则知道如何使用就OK了!第二章已经说过(请参看第二章的OGNL结构图),Struts2将Action中的实例压入值栈(ValueStack,值栈,Struts2的根对象,可以把它简单的理解为List,只不过它遵循堆栈的特点,先进后出!),session等放入ContextMap中,然后使用OGNL遍历对象结构图进行操作。