2007-11-03

Maven Tapestry Spring Hibernate 整合开发(三)

关键字: Spring hibernate T5 Maven2
首先抱歉,几篇文章中间的间隔如此之久,一方面工作太忙,一方面也是自己开始偷懒,闲暇之余总是偷懒说自己需要休息一下,可每次总都是休息。
本来这篇文章想说说 使用Maven2 的maven2-xdoclet2-plugin 插件怎么配置生成 hibernate 的 hbm 文件的,在annotation大行其道的时候,我决定省略这一篇了。(有疑问者,可在此处发消息,^_^)。

这里说 T5 (T5.0.6) 。 T5.0.6 前几天刚刚释放出来,一只在用 5.0.5 , 6 的SNAPSHOT版本一直没有关注, 发现 Howard Lewis Ship真的是个喜欢变化的人。参见:tapestry.apache.org/tapestry5/release-notes.html。

这里列举集成配置以及些常用的组件用法,有些说教,或者过于简单,也许对有些人比较用户。

1.与spring集成

修改 web.xml 中的

xml 代码
  1. <filter>
  2. <filter-name>appfilter-name>
  3. <filter-class>org.apache.tapestry.TapestryFilterfilter-class>
  4. filter>

为:

xml 代码
  1. <filter>
  2. <filter-name>financeReportfilter-name>
  3. <filter-class>org.apache.tapestry.spring.TapestrySpringFilterfilter-class>
  4. filter>

2. Select

你可以建立你的 SelectTest.tml文件
xml 代码
  1. <select t:id="id3" t:name="name3" t:type="select" model="genericSelectModel" encoder="genericValueEncoder" value="someBean"/>
SelectTest.java 可如下
java 代码
  1. @Persist
  2. private Customer _someBean;
  3. @Inject
  4. private PropertyAccess propertyAccess;
  5. public Customer getSomeBean() {
  6. return _someBean;
  7. }
  8. public void setSomeBean(Customer _someBean) {
  9. this._someBean = _someBean;
  10. }
  11. //for Select,
  12. public SelectModel getGenericSelectModel() {
  13. return new GenericSelectionModel(getBeanList(), propertyAccess, "name");
  14. }
  15. //for select
  16. public ValueEncoder getGenericValueEncoder() {
  17. return new GenericValueEncoder(getBeanList(), propertyAccess, "id");
  18. }
  19. public List getBeanList() {
  20. _beanList = new ArrayList();
  21. for (int i = 0; i < 10; i++) {
  22. Customer c = new Customer();
  23. c.setName("Customer Name" + i);
  24. c.setCode("Code" + i);
  25. c.setId("" + i);
  26. _beanList.add(c);
  27. }
  28. return _beanList;
  29. }
  30. public void setBeanList(List _beanList) {
  31. this._beanList = _beanList;
  32. }
GenericValueEncoder 和GenericSelectionModel 的实现方式也比较简单,可以参见
wiki.apache.org/tapestry/Tapestry5SelectObject

最后,几点注意的地方:
a) 5.0.6 的日志模块已经换成: SLF4J(Simple Logging Facade for Java) www.slf4j.org
b) 模板文件后缀换作 .tml(Tapestry Markup Language)
c) 模板文件放到web的根目录中,而不是 WEB-INF中。

评论
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

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

lococode
搜索本博客
存档
最新评论