Tapestry

记录学习Tapestry专用布格格。很多文章都转载网络。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  20 随笔 :: 0 文章 :: 4 评论 :: 0 Trackbacks

2007年3月22日 #

     摘要: tapestry的URL形如/examples/app?service=page/Admin
能够保证有效运行的一个非常重要的原因是,用有状态的javabean代替无状态的servlet构建一个tapestry应用。page是有状态的,他只能在一个线程里为一个用户处理一个 request,而一个servelet,没有用户的状态,可以在并发线程中为任何数量同时发生的request提供服务。使用有状态的page遇到的问题和使用数据库的连接遇到的问题非常相似  阅读全文
posted @ 2007-08-03 17:39 Tapestry 阅读(1082) | 评论 (0)编辑 收藏

http://www.javaeye.com/t/4463.html

<img jwcid="@Any" src="images/btn2.gif" onClick="ognl:yourScriptFun"/>

posted @ 2007-04-16 08:41 Tapestry 阅读(430) | 评论 (0)编辑 收藏

from http://dengyin2000.javaeye.com/blog/47452


a) @Persist("client")
b) @Persist("client:page")
c) @Persist("client:app")

a) is the same as b). If you use b) for a property x for page Foo, then
you can get back the property only if the navigation is Foo => Foo. If the
navigation is Foo => Bar => Foo, then it will be lost when Bar is
invoked. In contrast, if you use c), then it will be maintained all
the way.

client 跟 session是一样的效果只是实现的方式不一样, 一个是存在cookie或url中另一个是存在http session中。

client:page session:page 仅在当前页面有用, 假如转到其他页面 这个属性值就失效了。
client:app session:app 对于整个application都有效, 转到其他页面再转回来的话这个值仍然存在。如果我们想让他失效怎么办呢?你可以调用这个方法cycle.forgetPage("YourPageName").
posted @ 2007-04-11 11:50 Tapestry 阅读(507) | 评论 (0)编辑 收藏

     摘要: All interactive programs provide two basic functions: obtaining user input and displaying the results. Web applications implement this behavior using two HTTP methods: POST and GET respectively. This simple protocol gets broken when application returns web page in response to POST request. Peculiarities of POST method combined with idiosyncrasies of different browsers often lead to unpleasant user experience and may produce incorrect state of server application. This article shows how to design   阅读全文
posted @ 2007-03-30 23:03 Tapestry 阅读(1606) | 评论 (0)编辑 收藏

     摘要: http://ralf-realman.javaeye.com/blog/post/144266  阅读全文
posted @ 2007-03-30 22:43 Tapestry 阅读(700) | 评论 (0)编辑 收藏

     摘要: Tapestry的rewind一直是学习和使用Tapestry的难点,rewind是用来处理表单提交的,表单默认使用的是 DirectService来提交。在详细介绍之前,先说明下此文中需要用到的一些概念,首先是表单组件,我这里指的是指继承自 AbstractFormComponent类的组件,例如:TextField、TextArea、Checkbox等,而不是具体的Form组件,表单组件使用时必须在Form组件中,这些组件在rewind时调用继承自AbstractFormComponent的 rewindFormComponent来读取数据,并将数据赋值给容器或者页面。
我们来看一下最简单的TextField组件,组件定义如下   阅读全文
posted @ 2007-03-30 22:32 Tapestry 阅读(435) | 评论 (0)编辑 收藏

     摘要: 1. iframe所引用的页面类实现IExternalPage接口和activateExternalPage方法

2. 持有iframe的页面类中实现一个getIframeRenderer方法:  阅读全文
posted @ 2007-03-22 19:05 Tapestry 阅读(585) | 评论 (0)编辑 收藏