快速业务通道

WEB开发模式Tapestry简介 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
lt;servlet-name>Registration</servlet-name> <servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet>

WEB开发模式Tapestry简介(2)

时间:2010-12-10

那么Tapestry会自动寻找一个名为Registration.application的配置文件,如果用户没有定义此文件,那么Tapestry将不能正常启动。

为了便于理解,我举一个大家都熟知的例子:用户注册模块。首先生成一个注册页面,等待用户的输入,然后进行合法性检查,如果通过,就显示下一个页面。如下所示

WEB开发模式Tapestry简介 - 编程入门网

也许你会说,咦,这不是和JSP的表单差不多的吗?是的,虽然看上去差不多,但原理大不一样,由于它是基于组件的,所以Name、DOB、Address、City、State、Zip和Register按钮都是单独的组件,而不是普通的表单了。

这时你肯定会说:唉,也不过如此嘛,就算是基于组件的思想设计出来的东西也不过尔尔,这几个文本框这么简单,何必费这么大的劲把它们包装成组件呢?呵呵,不知你注意到DOB这个文本框没有?它和其它几个有些不一样,它的右边多了一个小按钮,如果点击此按钮,出现的结果会让你瞠目结舌!

酷吧?如果你曾经是一个JSP程序员,你的脑海里马上会闪过这样一个念头:一定是用javascript做的! 如果你这样想的话,那你就大错特错了,因为本人的javascript还没达到这种水平,如果我告诉你完成这样一个组件,只需要在配置文件中加入通俗易懂的几个xml元素的时候,你是否会觉得这真的很神奇呢?

是的,这就是Tapestry的魅力所在,Tapestry主要设计者Howard Lewis Ship的目的就是最大限度地解放JSP程序员的劳动量,让他们有更多的时间花在客户的需求和程序的逻辑设计上,而不是花在和美工人员互相解决矛盾冲突上,你可能会急不可待的问:那我们是否可以动手试一试了呢?是的,当然可以,但在动手之前,我要先介绍一些关于tapestry的概念,并试着开发一个最简单的“hello,world”程序来让你熟悉一下它的配置。因为它是一个framework,如果你对它的结构不是很清楚的话,我想你肯定无法充分地利用它的。

一个Tapestry组件一般称作JWC(Java Web Component),它能与其它JWC一起组合,生成实例,进行配置。比如你刚才看到的那个不可思议的组件就是一个DatePicker组件,刚才的那个页面是一个Page组件,Tapestry自带了很多的JWC组件,这些组件不仅仅只是GUI组件,还有可能是带控制功能的组件,比如foreach组件能够提供循环的功能,同时tapestry还提供了一个简单的方法来制作用户自定义的组件,所有的Tapestry应用的表示层都是由这些JWC构成的。

一个简单的Hello,world程序

为了清楚地弄清tapestry的framwork构架,我们从最简单的”hello,world”开如,打开组件的暗箱来看一看JWC的内部结构。一个典型的JWC包括3个部分----一个HTML模板,一个XML格式的定义文件和一个或多个JAVA类,尽管一个简单的JWC可以仅仅是一个HTML模板,但在本例中我们还是使用这三个部分来展示它的内部结构。

先让我们看一下演示的结果:

WEB开发模式Tapestry简介 - 编程入门网

由于我们知道Page也是一种JWC组件,因此让我们看一下这个Page组件是怎样构成的,首先,我们看一下它的HTML模板结构:

Home.html

<html> <head> <title>Welcome to Tapestry!</title> </head> <body> Hello <span jwcid="user">User Name</span>! Welcome to Tapestry! </body> </html>

WEB开发模式Tapestry简介(3)

时间:2010-12-10

这里你可能看上去觉得非常眼熟,这不就是一个普通的HTML网页吗?且慢,如果你仔细观察,会发现span标签多了一个新

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号