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

本文探讨了在Tapestry框架中PageLink与ActionLink两种组件的应用场景及区别。PageLink更适合直接导航到带有参数的新页面,而ActionLink则适用于触发复杂逻辑处理的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
首先,在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组件。填补这个网页的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值