Tapestry学习十:关于组件(5)Another Use of PageLink Component
2008-07-11 15:38
513 查看
首先,在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组件。填补这个网页的内容。
<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组件。填补这个网页的内容。
相关文章推荐
- Tapestry学习七:关于组件(二)TextField, PasswordField and PageLink
- Tapestry学习九:关于组件(四)Loop, Output and DirectLink
- Tapestry学习八:关于组件(三)Limiting Access to a Page
- Tapestry学习十一:关于组件(六)Radio and RadioGroup
- How can we use transfer function to skip search page while going from one component to another?
- Tapestry学习十二:关于组件(七)IF和checkbox组件
- Tapestry学习六:关于组件(一)前戏
- Tapestry学习十三:关于组件(八)submit组件
- Tapestry学习十四:关于组件(九)Select组件
- Tapestry学习十五:关于组件(十)GRID组件
- qml学习--------------Component(组件)学习
- ORA-24777: use of non-migratable database link not allowed
- Warning link 4098 defaultlib "library" conflicts with use of other library use /NODEFAULTLIB:library
- Vue2学习笔记:组件(Component)
- (Page 1 of 3 )A walking tour of JavaBeans What JavaBeans is, how it works, and why you want to use it
- 【学习Android遇到的错误】关于Unable to instantiate activity ComponentInfo错误解决方案
- LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
- Spark组件之GraphX学习11--PageRank例子(PageRankAboutBerkeleyWiki)
- react学习(6)——关于组件生命周期的问题
- LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:librar