Tapestry

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

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

2007年8月3日 #

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

2007年4月16日 #

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

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

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

2007年4月11日 #

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 阅读(423) | 评论 (0)编辑 收藏

2007年3月30日 #

     摘要: 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 阅读(1461) | 评论 (0)编辑 收藏

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

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

2007年3月22日 #

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

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

2007年1月30日 #

I've added a new screencast, this one showing off the use of the tapestry-simple Maven archetype to create a new project. It runs about five minutes and shows off how simple it is to get up and running.

If you haven't built Tapestry 5 locally, you need to remember to add -DremoteRepositories=http://people.apache.org/repo/m2-snapshot-repository/ to the command line.

I'm thinking about starting a vote to do a preview release of Tapestry 5, just to get the necessary JARs and archetypes into the general Maven repository.



posted @ 2007-01-30 09:47 Tapestry 阅读(191) | 评论 (0)编辑 收藏

2007年1月29日 #

     摘要: Tapestry中表单的提交有很多问题,刷新导致表单的重复提交、臭名昭著的dirty form warning、
显示不友好的URL等,这些都可以使用redirect-after-postpostredirectredirectredirectPagefriendlyUrlurl

要使用这个模式,不得不提到一个ILinkT4listener:
  阅读全文
posted @ 2007-01-29 18:56 Tapestry 阅读(743) | 评论 (1)编辑 收藏

     摘要: The toolkit known as GWT is all about creating dynamic client side javascript widgets and applications. The intriguing part of the toolkit is that these "scripty" bits are written as normal Java source code and are transcoded by the GWT compiler into relatively small and efficient javascript code. A "hosted" environment is provided by the toolkit which embeds a browser where developers can load their GWT enabled pages during development. When a page is loaded into this embedded browser, the GWT   阅读全文
posted @ 2007-01-29 18:53 Tapestry 阅读(592) | 评论 (0)编辑 收藏

仅列出标题  下一页