二、listener method
如果使用过tapestry的应该知道listener方法在4.X以前版本中的定义,如public void formSubmit(IRequestCycle cycle),方法必须
有一个IRequestCycle参数。参数的取得方式如下:Object[] parameters = cycle.getServiceParameters();
在4.X中参数的取得可以通过以下两种方式:
- 调用IRequestCycle.getListenerParameters()方法,需要传入IRequestCycle实例作为参数。
- 按照参数的声明顺序依次定义为listener方法的参数。
第二种方法比较符合软件的设计思维,而且参数的类型在传入后保存,而不是想象中的统一String类型。
例如:
<a jwcid="@DirectLink" listener="doClick" parameters="{ objectId, index }"> . . . </a>
其中objectId为String类型,index为int,声明中使用了默认的参数绑定类型。
对应的方法声明如下
public void doClick(String objectId, int index)
{ . . . }
此为第二种方式,可见方法的定义符合自然习惯,当然你也可以通过传统的方法,如下所示: public void doClick(IRequestCycle cycle)
{ Object[] parameters = cycle.getListenerParameters();
String objectId = (String)parameters[0];
int index = ((Integer)parameters[1]).intValue(); . . . }
这种方式是为了向后兼容以前的版本,当然也适用那种参数数目不确定的情况。 Tapestry默认搜索以下的方法声明:
- public void method(parameters)(页面的跳转 cycle.activate()如何实现?)
- public void method(IRequestCycle cycle, parameters) (倾向于使用此方式)
- public void method()(无需参数传递和页面跳转的情况,估计可能性不大)
- public void method(IRequestCycle cycle)(传统方式)
不要试图通过参数的类型来映射listener方法,tapestry是根据参数的数目来确定方法的。
分享到:
相关推荐
Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf ...
一个web框架的IOC实现,Apache tapestry-ioc
tapestry-bin-5.1.0.5
tapestry-project-4.1.5 裏面有例子和所用到的包
android-priority-jobqueue.zip,一种专为android编写的作业队列,用于方便地调度在后台运行的作业(任务),提高用户体验和应用程序稳定性。一种专为android编写的作业队列,用于方便地调度在后台运行的作业(任务)...
tapestry5最新的书籍。pdf格式。原版。购买要几十刀呢!
(Tapestry)An infrastructure for Fault-Tolerant Wide-area Location and Routing.
您可以看到以下日志1: : -> org.apache.tapestry:quickstart(Tapestry 5 快速入门项目) 2: -> org.apache.tapestry:tapestry-archetype (Tapestry 4.1.6 Archetype) 所以你想创建 Tapestry 5 quickStart 项目...
tapestry5.3.2最新教程--开发模式maven3+tapestry5.3.2+tapestry-hibernate5
Tapestry5和jQuery集成.使用jQuery以极少的兼容问题完全替换Prototype 和 Scriptaculous库 标签:tapestry5
apache-tapestry-5.3.8-bin.zip
Tapestry4的雏形是Tapestry3.1,Tapestry的作者Howard,不光开发了Tapestry,还同时开发了一个轻量级框架Hivemind。所以Tapestry3.1的开发一开始就处于Hivemind框架之下。后来由于种种原因,Howard没有将Tapestry3.1...
Tapestry 4 官方文档中版本 Tapestry 4 官方文档中版本 Tapestry 4 官方文档中版本
tapestry-spring-5.2.6.jar,java spring框架依赖,可以直接使用
Tapestry4 Tapestry4 深入浅出Tapestry4深入浅出Tapestry4深入浅出Tapestry4
Tapestry4开发指南.rar Tapestry4开发指南.rar Tapestry4开发指南.rar
mandala-the-wall-tapestry-cave.com - Tapestry专家,曼陀罗墙壁挂毯的洞穴有助于您将墙壁装饰转变为真正的墙壁艺术,所以来探索我们的圆形海滩毛巾,墙壁挂毯和曼荼罗挂毯的令人难以置信的集合。请考虑从另一...
包含: tapestry 的源代码, tapestry集成spring2.0 tapestry快速启动 tapestry upload tapestry hibernate tapestry annotations
不必关心链接!不必关心请求(http request)到了哪里!...Tapestry构建于底层的request-resonse模式,基于Servlet技术,抽象出面向组件开发的模型。Tapestry关心的是:页面、组件、事件、对象、方法、属性!
tapestry4开发指南,一本很实用的书籍,适合初学者