tapestry
三月神
这个作者很懒,什么都没留下…
展开
-
Tapestry介绍
Tapestry介绍 Tapestry是一个用Java编写的基于组件的web应用开发框架。它不仅仅是一个模板系统,更是一个建立在JavaServlet API基础上的动态交互式网站的开发平台。不同于普通的模板系统,它是一个真正使用简单,可重用的组件开发复杂应用的框架。框架自身完成了把许多在创建web应用时容易出错并且极为乏味的工作,诸如分派请求,构造与解析URLs信息,处理国际化和本转载 2016-10-26 09:57:30 · 2453 阅读 · 0 评论 -
解读Tapestry5.1——请求调用链
本文的目的旨在详细解读Tapestry 5.1的调用链设计,以清晰的反映出Tapestry是如何将一个HTTP请求转变为其内部的组件处理的。但阅读本文之前,您最好能对Tapestry5的使用有所了解,本文将不详细讨论Tapestry的使用方法。 下面,直接切入主题,谈一下Tapestry调用链的大体设计思想。 Tapestry处理调用链的大体思路是首先将Servle转载 2016-10-26 10:16:32 · 1652 阅读 · 0 评论 -
Tapestry5 事件分派机制
Tapestry 5 (本文针对5.1这个版本)改变了事件处理机制,不再需要将事件绑定到某个组件,而是在事件监听函数处定义需要监听什么样的事件。比如说产生事件的组件或者什么样类型的组件。 网上对于Tapestry 5事件的命名,传递等的文章有很多,Tapestry的官方网站上也很详细,我就不再鳌述这些内容了。本文讲一点深入的处理机制,也就是Tapestry 5 如何实际的将一个事件转载 2016-10-26 10:14:41 · 557 阅读 · 0 评论 -
Tapestry5杂谈
好久没有关注Tapestry了,最近又关心了下Tapestry5的设计。 Tapestry的核心组件化开发基本依序了下来,使得组件接口的定义和使用更加灵活,也减少了很多不必要的限制。 详细我就不说了,这里稍许说下一直非常关心的一个问题——Pojo风格 其它一些框架采用pojo并不是会让人费解,因为别的框架如spring等一般不会控制属性的使用。但是在转载 2016-10-26 10:13:40 · 429 阅读 · 0 评论 -
Tacos 一种 Tapestry 的局部刷新组件
Tacos 是一个为Tapestry4 编写的 AJAX 框架,借助于dojo的特点和 Tapestry 集中式控制的组件技术特别是它的代码生成,它为Tapestry所编写的页面提供了一个良好的 AJAX 调用的支持——页面的局部刷新。 在编写异步调用的页面时程序员不再需要考虑各种 AJAX 调用的细节,不再需要考虑如何根据返回结果更新页面显示。要做的只是使用异步调用组件并给出需要转载 2016-10-26 10:12:59 · 619 阅读 · 0 评论 -
再谈tapestry-delegate——优化与重构
这段时间我对tapestry-delegate这个用于改进Tapestry 的"listener:"绑定的扩展开源包做了一次较大的调整和改进,使这个包在使用的灵活性和性能方面有了不少的提高。除了使用字节码生成技术来提高最终函数调用的效率外,还在多个候选函数的选择,类型的匹配,冗余函数的清理等方面做了改进。现在这个包可以支持如下几种使用的格式:模糊格式:"delegate:doSubmit"转载 2016-10-26 10:12:21 · 259 阅读 · 0 评论 -
Tapestry灵魂——字节码生成
Tapestry最大的的一个特点就是通过字节码生成在运行时动态的创建页面的实例。这也是整个框架能有如此活力的基础。通过运行时的代码生成不仅使说明(specification),模板(template)和类结合起来形成一个统一的整体,更主要的是使程序员得到了极大的解放。所有重复性的,易出错的烦琐工作都有框架负责,动态的将必须的信息赋给页面。程序员需要的仅仅是关心一些最为基本的设置。 T转载 2016-10-26 10:11:26 · 736 阅读 · 0 评论 -
配置 Tapestry
配置 TapestryWeb 部署描述符应用属性来源(Application Property Source )全局属性来源(Global Property Source)可配置属性(Configuration Properties)应用扩展(Application extensions)警告Tapestry 3.0 和Tapestry 4.0 在配置方面有极大转载 2016-10-26 10:10:43 · 1026 阅读 · 0 评论 -
Tapestry的template和specification定义在不同文件夹的方法
最近有朋友问:“把‘*.page’与‘*.html’完全分开,静态页面自己就是一个完整的项目,但Tapestry默认情况下是找不到的,有什么方法才能做到呢?”。 解决的方法很简单,Tapestry内部已经支持了这种做法,只是估计由于Tapestry的作者不是特别推荐这种做法所以没有介绍这种方法。在Tapestry3和Tapestry4中解决这个问题的方法都一样。在定义文件中定义一个特转载 2016-10-26 10:09:28 · 502 阅读 · 0 评论 -
Tapestry绑定的作用与实现
Binding是Tapestry一个非常重要的组成部分,同时也是开发者很少接触的部分。绑定是用于为组件实例定义的参数提供数据的机制。有了绑定机制,组件就不必知道数据的来源,它需要的只是在必要的时候可以获取数据。 绑定在包含该组件的定义文件或模版文件内设置。绑定可以是静态的,或动态的(这不是由组件自身决定的)。组件也可能使用绑定将一个值写回其它对象(典型的是写回某一个组件)。 简转载 2016-10-26 10:08:37 · 426 阅读 · 0 评论 -
Tapestry4改进运行效率的实现方法
在Tapestry4之前的版本,Tapestry使用了大量的动态调用(大部分是使用OGNL调用的),这样势必会造成大量运行效率的损失。好在大多数WEB程序的瓶颈是在访问数据库而不是在页面上,所以并没有对Tapestry的推广构成毁灭性的影响。但是随着Tapestry社区的发展,使用人群的增加,Howard Lewis Ship(Tapestry的作者)和一些支持Tapestry项目的开发者,意转载 2016-10-26 10:08:00 · 568 阅读 · 0 评论 -
使用tapestry-prop提高Tapestry运行效率
tapestry-prop介绍 它是一个为Tapestry4.0编写的扩展包,提供了一个新的绑定前缀"prop:"。这个前缀用于获取页面或组件的属性。 看上去和Tapestry内置的"ognl:"前缀没有什么区别,但是低层实际获取数据的方法和OGNL是完全不同的。它采用了字节码生成的方式去获取用户类中的那些可以通过名字获取的属性。 "prop:"前缀只能获取简单属性或转载 2016-10-26 10:07:22 · 482 阅读 · 0 评论 -
Friendly URLs in Tapestry
在早一点的版本里面Tapestry并没有采用幽雅的格式来产生URLs。这种格式的URLs带来了不少的问题。比方说,因为整个连接都是围绕一个servlet构造的,所以势必会使基于路径的申明式J2EE安全机制不能使用。再比方说,依靠参数来区分页面,就会使搜索引擎只能看到应用程序的极小的一部分页面。 从4.0 版开始,框架自身已经直接支持友好的URLs格式。通过以下两种操作Tapestry直接转载 2016-10-26 10:06:50 · 270 阅读 · 0 评论 -
解读Tapestry5.1——页面渲染
本文旨在介绍Tapestry5.1的页面渲染(render)过程,希望最终能给出一个完整清晰的页面渲染流程,以便大家能更好的理解Tapestry页面渲染的过程,构架出更漂亮的Tapestry组件。 页面渲染简单的说就是生产HTML页面,响应输入的HTTP请求。在我另一篇博文中简要的谈到了http请求转化为页面渲染处理的机制和页面渲染的流程,本文将继续详细介绍页面渲染的流程,有关请求转载 2016-10-26 13:30:20 · 2672 阅读 · 0 评论