Tapestry学习十:关于组件(5)Another Use of PageLink Component

 
首先,在 showall.tml 中,把 actionLink 组件换成 PageLink 组件,你可以把 t:id 属性去掉,因为它不再有用了。
<a href="#" t:type="PageLink" t:page="Details" t:context="celebrity.id">
${celebrity.lastName}
</a>
     去掉 ShowAll.java 中的关于处理这个事件的方法 onShowDetails ,并且在 details.java 中加入 onActivate 方法:
   void onActivate(long id)
{
celebrity = dataSource.getCelebrityById(id);
}
 
还需要提供访问数据源的权限,并且去掉 celebrity @Persist 属性
@ApplicationState
private MockDataSource dataSource;
private Celebrity celebrity;
 
再试试,问题就这么很简单的解决了。
你可以看到,在一个典型的选择 -- 详细的情况下, pagelink 组件可以比 actionlink 做的更好。这并不是说,始终 pagelink 有优势。在一定的情况下, actionlink 将是唯一合理的选择,例如,当一点击一个链接,想用一些复杂的逻辑来处理一些问题,而不是只传递一个参数到另一个网页。无论如何,现在你知道这两个组件的区别和优势了。
 
现在注册页面还是空的,我们将用大量新的 Tapestry 组件。填补这个网页的内容。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值