当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 简介 Jakarta Tapestry是一个开源的Java Web应用框架。
 

 

 ·tiles-struts    »显示摘要«
    摘要:引用:http://www.javaworld.com/javaworld/jw-01-2002/jw-0104-tilestrut.html advertisement ypically during web application development, the user interface (ui) group creates......
    摘要:隐藏某列:this.treelistuser.columns[3].visibleindex = -1; 绑定:将数据源指定到一个临时表 this.treelistuser.datasource = dtuserinfo; this.treelistuser.populatecolumns();不允许编辑,设为只读: dtuserinfo.columns[0].readonly = true; ......


Tapestry入门

 

jakarta tapestry是一个开源的java web应用框架.你或许会说:"大同小异的东西罢了."多数 【程序编程相关:SQL语法查询文档

简介 【推荐阅读:j2me getProperty

tapestry是一个基于控件的框架以致于用它开发web应用类似开发传统的gui应用.你用tapestry开发web应用时你无需关注以操作为中心的(operation-centric) servlet api.引用tapestry网站上的一句话:"tapestry用对象(objects),方法(methods),属性(properties)替代以往的urls与查询参数, 重新诠释web应用开发.tapestry 3.0即将发布,它有大量的改进与新的特性. 【扩展信息:使用属性和反射过渡从数据存取层到业务物件

情况下,我同意你的观点,然而,只要花上些许时间研究一下,你会发现tapestry跟别的框架大为不同,它是值得严肃对待的.

tapestry的目标

简单性

tapestry应用与传统的servlet应用相比代码量更少.大多数传统的servlet应用包含如下厌烦与

重复的任务:解析查询参数,处理httpsession对象,构建urls.tapestry消除了传统servelt应用中许多无趣的"衔接"代码("plumbing" code)使开发者把精力集中到应用逻辑上来.

一致性

tapestry为开发web应用的页面提供了一致的方式.这样有助于消除传统servlet应用开发中臆测.由于所有tapestry应用中的页面都是用相同的可复用的控件组织而成,所以工作方式是相似的.

效率

tapestr应用拥有高度的可升级性,它利用缓存与对象池使每个请求的处理时间最小化.tapestry应用拥有跟传统servlet应用相仿的性能.

错误反馈

任何开发过servlet/jsp应用的人毫无质疑有类似经历:为了找出web.xml文件有什么错误,不得不花费大量时间察看浏览器中的堆栈信息.tapestry拥有优秀的错误报告方式,最值得一提的是它会指出哪个文件以及那一行导致了错误.

与struts比较

既然apache struts可能是当今应用最广泛的web应用框架,拿tapestry与它比较是唯一公平的.以下是一些观察比较,它们来源于为这篇文章开发的几个简单的tapestry应用与为几个struts工程的工作经历.

struts的优点

1 一个servlet/jsp开发者熟悉struts无需太久.然而tapestry的学习曲线会长一点,因为它与流行的web应用框架不太相同 .

2 struts在java社区里被广泛接受与使用.为你的项目找一个好的struts开发人员并非难事,tapestry近来在开发者社区里 赢得一些关注,然而仍有许多java老手不知道tapestry为何物.

3 既然struts被如此广泛的使用,所以有很多struts资源可供参考.相比大多数开源软件,tapestry拥有非常可观的资源与文档,但跟struts相比仍有差距.

tapestry的优点

1 你开发一个tapestry应用无需关注servlet api,你也无须为你的servlet应用写一些典型的"衔接"代码.虽然struts简化了工作,然而servlet api 仍是你需面对的.

2 tapestry的页面模板除了几个特别属性与标识就是一个标准的html文件. 如果你是一个开发小组中的html设计高手,然而你不懂java或jsp,这就给你带来很大方便.

3 因为tapestry页面是标准的html,所以可以用html所见即所得(wysiwyg)编辑器编辑与预览该页.当一个页需要修改它的外观并不需要通知服务器让它重新编译jsp.

4 tapestry不需要一个至高的,整个应用范围的配置文件.tapestry应用中的每一页是独立的,改变一页不会影响开发其他 页面的开发者,因为并没有一个配置文件把所有页面的浏览粘连在一起.

5 tapestry拥有极好的错误报告.如果你在一个页的模板或页面规范犯了一个错误,tapestry会指出导致错误的行号.

6 用tapestry开发是种乐趣.这样说听上去似乎老调,然而用tapestry开发一个web应用相比应用其他流行的框架更为自然有趣.用tapestry开发是应用了一种基于控件的架构,与开发传统的gui应用非常相似.

tapestry 架构

tapestry框架是标准servlet api的一种扩展.它需要j2sdk1.2或更高版本的j2sdk与一个与servlet api 2.2(或更高)兼容的应用服务器/servlet容器.

一个tapestry应用由许多拥有唯一名称的页面组成.一个页面由一个模板与一些可复用的控件构成.模板由标准的html标签与一些额外的属性与标签构成,这些额外的属性与标签是为了告诉tapestry框架这个页面的那些部分是由tapestry控件组成.

简单的tapestry应用

为了最好的描述构建一个tapestry页面的方方面面,我们可以看看这个pig latin翻译器应用的代码.这个应用只有一个页面,在这页里输入一个text值把它翻译成pig latin,然后把翻译好的值显示给用户.

在tapestry应用中每个页由3个部分组成:一个html模板,一个页面规范文件,一个java类.

这里有这个页面屏幕抓图:

 

页面模板由标准的html标签与一些额外的属性与标签构成,这些额外的属性与标签是为了告诉tapestry框架这个页面的那些部分是由tapestry控件组成.页面模板存放在web应用的根context目录下.通常,tapestry在启动时会寻找与呈现一个名叫"home"的页.虽然我们可以改变这种行为,但依照tapestry的惯例会更简单.

home.html

    <html>

    <head>

      <title>tapestry pig latin translator</title>

    </head>

    <body>

      <h1>pig latin translator</h1>

      <form jwcid="@form"① listener="ognl:listeners.submit"②>

      <table border="1">

        <tr>

          <td>value to translate:</td>

          <td>


...   下一页
    摘要:1、 知道事件触发顺序的重要性和必要性 实现一项功能通常要做两件事:a)首先要知道在哪里控制;b)其次要知道如何控制。 然而,很多情况下都是我们已经知道怎么去控制,但不知道控制点选在哪里。这主要是因为我们对组件事件的触发顺序搞不清楚。 2、 要深刻理解tclientdataset的两个重要属性:data、delta 3、 要深刻理解并区分开tfield的4个重要属性:value、ol......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE