首先抱歉,几篇文章中间的间隔如此之久,一方面工作太忙,一方面也是自己开始偷懒,闲暇之余总是偷懒说自己需要休息一下,可每次总都是休息。
本来这篇文章想说说 使用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 代码
- <filter>
- <filter-name>app<!---->filter-name>
- <filter-class>org.apache.tapestry.TapestryFilter<!---->filter-class>
- <!---->filter>
为:
xml 代码
- <filter>
- <filter-name>financeReport<!---->filter-name>
- <filter-class>org.apache.tapestry.spring.TapestrySpringFilter<!---->filter-class>
- <!---->filter>
2. Select
你可以建立你的 SelectTest.tml文件
xml 代码
- <select t:id="id3" t:name="name3" t:type="select" model="genericSelectModel" encoder="genericValueEncoder" value="someBean"/>
SelectTest.java 可如下
java 代码
- @Persist
- private Customer _someBean;
-
- @Inject
- private PropertyAccess propertyAccess;
-
- public Customer getSomeBean() {
- return _someBean;
- }
-
- public void setSomeBean(Customer _someBean) {
- this._someBean = _someBean;
- }
-
- public SelectModel getGenericSelectModel() {
- return new GenericSelectionModel<customer>(getBeanList(), propertyAccess, </customer>"name");
- }
-
-
- public ValueEncoder<customer> getGenericValueEncoder() { </customer>
- return new GenericValueEncoder<customer>(getBeanList(), propertyAccess, </customer>"id");
- }
-
- public List<customer> getBeanList() { </customer>
- _beanList = new ArrayList<customer>(); </customer>
- for (int i = 0; i < 10; i++) {
- Customer c = new Customer();
- c.setName("Customer Name" + i);
- c.setCode("Code" + i);
- c.setId("" + i);
- _beanList.add(c);
- }
- return _beanList;
- }
-
- public void setBeanList(List<customer> _beanList) { </customer>
- this._beanList = _beanList;
- }
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中。