
struts
cedar
本博客主要是吸取精华,不断进步
展开
-
转Struts2的工作原理
本章讲述Struts2的工作原理。读者如果曾经学习过Struts1.x或者有过Struts1.x的开发经验,那么千万不要想当然地以为这一章可以跳过。实际上Struts1.x与Struts2并无我们想象的血缘关系。虽然Struts2的开发小组极力保留Struts1.x的习惯,但因为Struts2的核心设计完全改变,从思想到设计到工作流程,都有了很大的不同。Struts2是Struts社区和W转载 2009-01-22 11:28:00 · 1109 阅读 · 1 评论 -
在Struts 2中实现文件上传
在Struts 2中实现文件上传 前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题, 所以今天我们就来讨论一下这个问题。实现原理Struts 2是通过Commons FileUpload文件上传。Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中。从而我们就转载 2009-02-09 10:49:00 · 473 阅读 · 0 评论 -
在Struts 2中实现CRUD
在Struts 2中实现CRUD CRUD是Create(创建)、Read(读取)、Update(更新)和Delete(删除)的缩写,它是普通应用程序的缩影。如果您掌握了某框架的CRUD编写,那么意味可以使用该框架创建普通应用程序了,所以大家使用新框架开发OLTP(Online Transaction Processing)应用程序时,首先会研究一下如何编写CRUD。这类似于大家在学习转载 2009-02-09 10:45:00 · 502 阅读 · 0 评论 -
常用的Struts 2.0的标志(Tag)介绍
常用的Struts 2.0的标志(Tag)介绍 在上一篇文章《为Struts 2.0做好准备》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节。如果,您看完《为Struts 2.0做好准备》后,还有什么不明白,或者没法运行文中例子,请联系我。我的E-MAIL:Max.M.Yuan@gmail.com。在介绍常用标志前,我想转载 2009-02-09 10:44:00 · 563 阅读 · 0 评论 -
在Struts 2.0中实现表单数据校验(Validation)
在Struts 2.0中实现表单数据校验(Validation) All Input Is Evil! -Writing secure code 在写前几篇文章的时候,有些朋友建议我的写一篇关于表单数据校验的文章。 正如文章的开头所引用的《Writing Secure Code》的名言:“所有的输入都是罪恶的”,所以我们应该对所有的外部输入进行校验。转载 2009-02-09 10:42:00 · 513 阅读 · 0 评论 -
在Struts 2中实现IoC
在Struts 2中实现IoC IoC(Inversion of Control,以下译为控制反转)随着Java社区中轻量级容器(Lightweight Contianer)的推广而越来越为大家耳熟能详。在此,我不想再多费唇舌来解释“什么是控制反转”和“为什么需要控制反转”。因为互联网上已经有非常多的文章对诸如此类的问题作了精彩而准确的回答。大家可以去读一下Rod Johnson和转载 2009-02-09 10:41:00 · 426 阅读 · 0 评论 -
转换器(Converter)——Struts 2.0中的魔术师
转换器(Converter)——Struts 2.0中的魔术师 在我已往的Struts 1.x项目经验中,有个问题不时的出现——在创建FormBean时,对于某个属性到底应该用String还是其它类型?开发Web应用程序与开发传统桌面应用程序不同,Web应用程序实际上是分布个不同的主机(当然也可以同一个主机,不过比较少见)上的两个进程之间互交。这种互交建立在HTTP之上,它们互相传递是转载 2009-02-09 10:40:00 · 475 阅读 · 0 评论 -
Struts 2的基石——拦截器(Interceptor)
Struts 2的基石——拦截器(Interceptor) 首先,要跟大家道个歉,前一阵子为给客户个一个DEMO,忙得不可开交,所以很久没有更新Blog。提到这个DEMO我想顺便跟大家分享一下心得——如果大家希望快速开发,一个类似Struts 2这样的简单方便的WEB框架必不可少。我们在开发DEMO使用的还是Struts 1.2.8,而且没有不使用任何EL(表达式语言),导致页面出转载 2009-02-09 10:39:00 · 540 阅读 · 0 评论 -
Strus 2的新表单标志的使用
Strus 2的新表单标志的使用 Struts 2为大家提供了不少常用的很酷的表单标志,简化了我们程序员的工作。不过,由于这些都是新标志,大家可能在使用上还存在不少疑问。本文将就朋友们的回复、留言或Email上的问题,分别对这些酷标志进行讲述。表单标志使用小技巧Struts 2的表单标志在输出(render)HTML时,使用了模板的概念,增加了复杂性(因为它不像Struts转载 2009-02-09 10:35:00 · 532 阅读 · 0 评论 -
Struts 2中的OGNL
Struts 2中的OGNL 本人是一个EL(Expression Language,以下译为表达式语言)的支持者。因为我对<% %>写法极为反感,忘记了在那本书上看到的一句话——“使用标志(Tag)的一个目的就是避免在JSP页面中出现过多的的语句,使页面与后台代码分离。”表达式语言主要有以下几大好处:避免(MyType) request.getAttribute()和转载 2009-02-09 10:33:00 · 369 阅读 · 0 评论 -
为Struts 2.0做好准备
为Struts 2.0做好准备 Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点:MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放源代码 但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点:需要编写的代码过多,容易引起“转载 2009-02-09 10:30:00 · 452 阅读 · 0 评论 -
Struts 2中的OGNL
本人是一个EL(Expression Language,以下译为表达式语言)的支持者。因为我对<% %>写法极为反感,忘记了在那本书上看到的一句话——“使用标志(Tag)的一个目的就是避免在JSP页面中出现过多的的语句,使页面与后台代码分离。”表达式语言主要有以下几大好处:避免(MyType) request.getAttribute()和myBean.getMyPrope原创 2009-02-09 10:25:00 · 439 阅读 · 0 评论 -
Struts 2与AJAX(第二部分)
Struts 2与AJAX(第二部分) 在上一篇文章《Struts 2与AJAX(第一部分)》,我已经简单地介绍了的一些用法,接下来我将继续深入讲解<s:tree />的使用和通过DWR实现AJAX校验。更多在Struts 2的showcase中有两个<s:tree />的例子,分别是静态树与动态树。所谓的静态树即是在编写JSP代码时通过<s:treenode />转载 2009-02-09 10:56:00 · 594 阅读 · 0 评论 -
Struts 2与AJAX(第一部分)
Struts 2与AJAX(第一部分) 在当今——Web 2.0概念铺天盖地的Internet环境下,简易的AJAX集成对于一个成功的WEB框架来说是不可或缺的。因此,Struts 2其中的一个重要的功能(Feature)就是“First-class AJAX support - Add interactivity and flexibility with AJAX tags th转载 2009-02-09 10:55:00 · 443 阅读 · 0 评论 -
Struts 2.0的Action讲解
Struts 2.0的Action讲解 有Struts 1.x经验的朋友都知道Action是Struts的核心内容,当然Struts 2.0也不例外。不过,Struts 1.x与Struts 2.0的Action模型很大的区别。 Struts 1.xStuts 2.0接口必须继承org.apache.struts.action.Actio转载 2009-02-09 10:38:00 · 433 阅读 · 0 评论 -
转Struts 2的基本配置
Struts 2的基本配置前面大致了解了Struts 2框架的基本内容,但这些基本内容都必须建立在Struts 2的配置文件基础之上,这些配置文件的配置信息也是Struts 2应用的核心部分。3.5.1 配置web.xml文件任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置在web.xml文件中Servlet才会被应用加载。通常,所有的MVC框架转载 2009-01-22 11:29:00 · 476 阅读 · 0 评论 -
在Struts 2.0中国际化(i18n)您的应用程序
在Struts 2.0中国际化(i18n)您的应用程序 国际化是商业系统中不可或缺的一部分,所以无论您学习的是什么Web框架,它都是必须掌握的技能。其实,Struts 1.x在此部分已经做得相当不错了。它极大地简化了我们程序员在做国际化时所需的工作,例如,如果您要输出一条国际化的信息,只需在代码包中加入FILE-NAME_xx_XX.properties(其中FILE-NAME为默转载 2009-02-09 10:50:00 · 431 阅读 · 0 评论