Tapestry4.1.x中内置dojo实现ajax功能,不用写任何的javascript就可以实现,
具体步骤如下。
1、用Shell组件包含进dojo,Shell组件会自动配置dojo包。
<html jwcid="@Shell" title="Basic Ajax Page">
<body jwcid="@Body">
<p>Basic javascript inclusion sample.</p>
</body>
</html>
2、使用updateComponents参数
这个参数已经在很多组件里实现,加上这个参数就可以实 ...
注入方式:
@InjectObject("service:tapestry.globals.HttpServletResponse")
public abstract HttpServletResponse getServletResponse();
service一览:
tapestry.globals.HttpServletRequest
tapestry.globals.HttpServletResponse
tapestry.globals.ServletContext
tapestry.globals.ApplicationGlobals
tapestry.globals.IReq ...
一、ognl2.7带来的性能上的提升
这个版本应该早就该释出的,一直在等ognl2.7版本的稳定,不过这也是值得的,ognl2.7带来性能上的提升是可观的。在Tapestry4.1.2投票的时候就测试出跟Tapestry-prop不兼容,但ognl采用了跟prop一样的javassist增强来实现,应该说ognl在性能上跟prop差不了多少了(没实际测试,只是从理论上来说),而且ognl提供了更多的功能,Tapestry4.1.x版本的prop可以放弃了(T5中已经默认为prop了,那个prop跟T4的不一样,题外话),关于prop跟ognl老版本的性能测试可以参考这里(http://tape ...
Tapestry的rewind一直是学习和使用Tapestry的难点,rewind是用来处理表单提交的,表单默认使用的是DirectService来提交。在详细介绍之前,先说明下此文中需要用到的一些概念,首先是表单组件,我这里指的是指继承自AbstractFormComponent类的组件,例如:TextField、TextArea、Checkbox等,而不是具体的Form组件,表单组件使用时必须在Form组件中,这些组件在rewind时调用继承自AbstractFormComponent的rewindFormComponent来读取数据,并将数据赋值给容器或者页面。
我们来看一下最简单的Te ...
Tapestry中构建选择列表需要使用IPropertySelectionModel,Model可以映射选择列表中的Label和Option,Tapestry中已经提供一个常用的StringSelectonModel,具体组件使用如下:
Html代码
Java代码
java 代码
public abstract class DetailsPage extends BasePage {
&nb ...
Tapestry中表单的提交有很多问题,刷新导致表单的重复提交、臭名昭著的dirty form warning、显示不友好的URL等,这些都可以使用redirect-after-post模式来避免,也就是post表单之后将页面redirect一下,这样地址栏显示的就是redirect之后的页面,刷新的也将是这个页面,而且redirect之后的页面一般为Page页面,可以使用friendlyUrl来显示友好的url。
要使用这个模式,不得不提到一个ILink接口,T4中可接受的listener方法中一个方法签名是这样的:
java 代码 public ILink  ...
Tapestry4.0.x版本的PagePool实现很简单,只是使用一个map容器作为缓存,高并发的情况下容易导致OutOfMemoryException,下面是邮件列表中的相关内容,里边也提到了相关建议,估计会作为一个bug修改,在未修改之前,我会给出一个简单实现。
PagePool doesnt remove idle pages, heap memory doens't get reallocated
> ----------------------------------------------------------------------
>
> K ...
Tapestry4中上传文件的组件对文件的处理做了很好的封装,用户界面最常用的还是普通Form中的<input type="file">,最近看了SWFUpload(http://labb.dev.mammon.se/swfupload/)组件,感觉不错,界面可以设计的很友好,定制性很强,而且提供了javascript回调接口,可以很好的跟踪文件上传的各种事件。SWFUpload给出的例子中,只是给出php的后台实现,下面给出在Tapestry4中的实现。
第一步:下载并修改SWFUpload
&nbs ...
- 浏览: 81848 次

- 详细资料
搜索本博客
最新评论
-
Tapestry5开发系列:如何 ...
我删掉了依赖,加了servlet还是不行,jetty就是不起来,说没找到logg ...
-- by leegorous -
Tapestry5每日播报(20080 ...
非常支持.
-- by biaoming -
Tapestry5每日播报(20080 ...
应该是所有变量,改成"变量命名中"吧。
-- by tapestry -
Tapestry5每日播报(20080 ...
实例变量多形象啊? 为什么总要说成员变量
-- by lonelyblue -
Tapestry4常用的注入对象 ...
-- by eric2002cn






评论排行榜