1 方法PageBeginRender(PageEvent event)没有被执行
出现此问题的原因常见的有两种:一是页面类没有implements PageRenderListener,二是在page文件中指定页面类不正确

2 自定义组件问题
组件类必须继承BaseComponent或AbstractComponent类或其子类,需要用到模板(html)的组件需继承BaseComponent类,不需要用的则继承AbstractComponent类.

3.page与html分离方法:
把.page的定义加入到.application文件中
<page name="AAA" specification-path="/page/AAA.page"/>
然后在.page文件中要添加<context-asset name="$template" path="template/AAA.html"/>

4.启动Web服务器时加启动参数,则修改html和page文件不需要重新启动,如果用MyEclipse,在eclipse-->Preferences-->myEclipse-->Tomcat5-->JDK中设置 :
-Dorg.apache.tapestry.enable-reset-service=true
-Dorg.apache.tapestry.disable-caching=true

5.JSP可以通过request.getParameter()来获取,那么Tapestry通过什么方法来获取呢,目前发现两种办法:

1). String nodeIdStr = this.getRequestCycle().getRequestContext()
.getRequest().getParameter("你想获取的参数名");

2).Object[] parameters = cycle.getServiceParameters(); 然后在parameters 取参数,比如第一个参数是整数

int page = ((Integer) parameters[0]).intValue();这种方法复杂一些
评论
发表评论

您还没有登录,请登录后发表评论

ralf_realman
搜索本博客
博客分类
最近加入圈子
存档
最新评论
评论排行榜