Maven Tapestry Spring Hibernate 整合开发(三)

首先抱歉,几篇文章中间的间隔如此之久,一方面工作太忙,一方面也是自己开始偷懒,闲暇之余总是偷懒说自己需要休息一下,可每次总都是休息。
本来这篇文章想说说 使用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>app<!---->filter-name>
  3. <filter-class>org.apache.tapestry.TapestryFilter<!---->filter-class>
  4. <!---->filter>

为:

xml 代码
  1. <filter>
  2. <filter-name>financeReport<!---->filter-name>
  3. <filter-class>org.apache.tapestry.spring.TapestrySpringFilter<!---->filter-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<customer>(getBeanList(), propertyAccess, </customer>"name");
  14. }
  15. //for select
  16. public ValueEncoder<customer> getGenericValueEncoder() { </customer>
  17. return new GenericValueEncoder<customer>(getBeanList(), propertyAccess, </customer>"id");
  18. }
  19. public List<customer> getBeanList() { </customer>
  20. _beanList = new ArrayList<customer>(); </customer>
  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<customer> _beanList) { </customer>
  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中。

你可能感兴趣的:(apache,spring,maven,Hibernate,tapestry)