2009年2月15日
摘要: DataTable与GridView从数据结构上来看都是一个由row和column组成表的结构,我们大部分时间是将DataTable绑定到 GridView中,但web中当页面回传的时候,传递给GridView的数据源却再也找不到了,这是一件很郁闷的事情,下面我们根据两者的相似性,实现从GridView生成DataTable的方法,不管原来的GridView数据源是否是DataTable,都能使用... 阅读全文
posted @ 2009-02-15 14:09 ToKens 阅读(701) 评论(0) 推荐(0) 编辑
摘要: 分页是WEB开发中面对的最常见的编程,实现方法多种多样。但是多数都太复杂,不够清晰不够简单也不面向对象.而下面提供这种分页方法不仅简单,而且高效,复用性也很好 这种分页的思路是这样的: 1、把分页后的数据抽象为一个类,你可以把它想象成一个双向链表的一个结点。 结构如下: [复制到剪贴板] CODE: //页类 public class Page { public int pageno... 阅读全文
posted @ 2009-02-15 14:06 ToKens 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 方法一: 将htmlencode设置为false即可 方法二: 使用模板列 '> '> 附录-常用格式化公式: {0:C} 货币; {0:D4}由0填充的4个字符宽的字段中显示整数; {0:000.0}四舍五入小数点保留第几位有效数字; {0:N2}小数点保留2位有效数字;{0:N2}% 小数点保留2位有效数字加百分号; {0:D}长日期;{0:d}短日期;... 阅读全文
posted @ 2009-02-15 13:54 ToKens 阅读(242) 评论(0) 推荐(0) 编辑
摘要: window.open 弹出新窗口的命令; 'page.html' 弹出窗口的文件名; 'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替; height=100 窗口高度; width=400 窗口宽度; top=0 窗口距离屏幕上方的象素值; left=0 窗口距离屏幕左侧的象素值; toolbar=no 是否显示工具栏,yes为显示; menubar... 阅读全文
posted @ 2009-02-15 13:44 ToKens 阅读(1851) 评论(0) 推荐(1) 编辑
摘要: 什么是DWR DWR(Direct Web Remoting)是在Java EE中较流行的AJAX框架,它的最大优势就是可以像使用本地的Javascript函数一样,调用服务器上的Java方法。如下图所示: 图1 DWR工作原理 其实DWR原理也不复杂,它先在web.xml中配置一个Servlet,映射到特定的路径(通常是%CONTEXT_PATH%/dwr/*)。这个Servlet的作用就... 阅读全文
posted @ 2009-02-15 12:46 ToKens 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 更多 在Struts 2的showcase中有两个的例子,分别是静态树与动态树。所谓的静态树即是在编写JSP代码时通过生成树节点。我的上一篇文章的例子就是一个典型的静态树。而动态树则是在程序运行期间,Struts 2 运行时(Runtime)根据程序中的数据动态创建树节点。虽然在两个例子中的theme属性都为“ajax”,但是从严格意义上来说,这两种树都不属于AJAX树,因为它们都是在输出页面时将... 阅读全文
posted @ 2009-02-15 12:45 ToKens 阅读(969) 评论(5) 推荐(2) 编辑
摘要: 在当今——Web 2.0概念铺天盖地的Internet环境下,简易的AJAX集成对于一个成功的WEB框架来说是不可或缺的。因此,Struts 2其中的一个重要的功能(Feature)就是“First-class AJAX support - Add interactivity and flexibility with AJAX tags that look and feel just like s... 阅读全文
posted @ 2009-02-15 12:44 ToKens 阅读(516) 评论(2) 推荐(0) 编辑
摘要: 表单标志使用小技巧 Struts 2的表单标志在输出(render)HTML时,使用了模板的概念,增加了复杂性(因为它不像Struts 1.x的表单标志,它通常都是一个标志对应HTML的一个元素),因此大家在使用时,需要一些技巧: Struts 2的UI标志的表单标志默认是以表格布局,按钮是右对齐的。如果你不喜欢此风格,你可以简单地将标志的“theme”属性设为“simple”,然后用以... 阅读全文
posted @ 2009-02-15 12:43 ToKens 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 本人是一个EL(Expression Language,以下译为表达式语言)的支持者。因为我对写法极为反感,忘记了在那本书上看到的一句话——“使用标志(Tag)的一个目的就是避免在JSP页面中出现过多的的语句,使页面与后台代码分离。” 表达式语言主要有以下几大好处: 避免(MyType) request.getAttribute()和myBean.getMyProperty()之类的语句... 阅读全文
posted @ 2009-02-15 12:41 ToKens 阅读(375) 评论(0) 推荐(0) 编辑
摘要: CRUD是Create(创建)、Read(读取)、Update(更新)和Delete(删除)的缩写,它是普通应用程序的缩影。如果您掌握了某框架的CRUD编写,那么意味可以使用该框架创建普通应用程序了,所以大家使用新框架开发OLTP(Online Transaction Processing)应用程序时,首先会研究一下如何编写CRUD。这类似于大家在学习新编程语言时喜欢编写“Hello World”... 阅读全文
posted @ 2009-02-15 12:40 ToKens 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 实现原理 Struts 2是通过Commons FileUpload文件上传。Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中。从而我们就能够以本地文件方式的操作浏览器上传的文件。 具体实现 前段时间Apache发布了Struts 2.0.6 GA,所以本文的实现是以该版本的Struts作为框架... 阅读全文
posted @ 2009-02-15 12:39 ToKens 阅读(240) 评论(0) 推荐(0) 编辑
摘要: IoC(Inversion of Control,以下译为控制反转)随着Java社区中轻量级容器(Lightweight Contianer)的推广而越来越为大家耳熟能详。在此,我不想再多费唇舌来解释“什么是控制反转”和“为什么需要控制反转”。因为互联网上已经有非常多的文章对诸如此类的问题作了精彩而准确的回答。大家可以去读一下Rod Johnson和Juergen Hoeller合著的《Exp... 阅读全文
posted @ 2009-02-15 12:37 ToKens 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 首先,要跟大家道个歉,前一阵子为给客户个一个DEMO,忙得不可开交,所以很久没有更新Blog。提到这个DEMO我想顺便跟大家分享一下心得——如果大家希望快速开发,一个类似Struts 2这样的简单方便的WEB框架必不可少。我们在开发DEMO使用的还是Struts 1.2.8,而且没有不使用任何EL(表达式语言),导致页面出现无数类似“”的代码。Struts 1.x的Form Bean的麻烦使得... 阅读全文
posted @ 2009-02-15 12:33 ToKens 阅读(567) 评论(0) 推荐(0) 编辑
摘要: All Input Is Evil! -Writing secure code 在写前几篇文章的时候,有些朋友建议我的写一篇关于表单数据校验的文章。 正如文章的开头所引用的《Writing Secure Code》的名言:“所有的输入都是罪恶的”,所以我们应该对所有的外部输入进行校验。而表单是应用程序最... 阅读全文
posted @ 2009-02-15 12:30 ToKens 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 在我已往的Struts 1.x项目经验中,有个问题不时的出现——在创建FormBean时,对于某个属性到底应该用String还是其它类型? 开发Web应用程序与开发传统桌面应用程序不同,Web应用程序实际上是分布个不同的主机(当然也可以同一个主机,不过比较少见)上的两个进程之间互交。这种互交建立在HTTP之上,它们互相传递是都是字符串。换句话说, 服务器可以的接收到的来自用户的数据只能是字符串或字... 阅读全文
posted @ 2009-02-15 12:20 ToKens 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 国际化是商业系统中不可或缺的一部分,所以无论您学习的是什么Web框架,它都是必须掌握的技能。 其实,Struts 1.x在此部分已经做得相当不错了。它极大地简化了我们程序员在做国际化时所需的工作,例如,如果您要输出一条国际化的信息,只需在代码包中加入FILE-NAME_xx_XX.properties(其中FILE-NAME为默认资源文件的文件名),然后在struts-config.xml中指... 阅读全文
posted @ 2009-02-15 12:18 ToKens 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 有Struts 1.x经验的朋友都知道Action是Struts的核心内容,当然Struts 2.0也不例外。不过,Struts 1.x与Struts 2.0的Action模型很大的区别。 Struts 1.x Stuts 2.0 接口 ... 阅读全文
posted @ 2009-02-15 12:16 ToKens 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章《为Struts 2.0做好准备》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节。如果,您看完《为Struts 2.0做好准备》后,还有什么不明白,或者没法运行文中例子,请联系我。我的E-MAIL:mysshss@163.com。 在介绍常用标志前,我想先从总体上,对Struts 1.x与Struts 2.0的标志库(Tag ... 阅读全文
posted @ 2009-02-15 12:13 ToKens 阅读(406) 评论(0) 推荐(0) 编辑
摘要: Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放源代码 但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点: 需要编写的代码过多,容易引起“类爆炸” 单元测试困难 ... 阅读全文
posted @ 2009-02-15 12:11 ToKens 阅读(246) 评论(1) 推荐(0) 编辑
摘要: 一、 url标签  简介 url标签用于生成一个URL地址,可以通过url标签指定param子元素,从而向指定URL发送请求参数。 1. jsp代码 使用s:url来生成一个URL地址 s:url来生成一个URL地址 只指定value属性的形式。 指定action属性,且使用param传入参数的形式。 既不指定action属性,也不指定... 阅读全文
posted @ 2009-02-15 12:06 ToKens 阅读(1175) 评论(0) 推荐(0) 编辑