Posted on 2009-05-30 13:55
云自无心水自闲 阅读(3092)
评论(0) 编辑 收藏 所属分类:
Java 、
心得体会 、
Tapestry
1、web.xml
一般来说,使用Tapestry需要在Tapestry中添加2项内容
A、 <context-param>
<!-- The only significant configuration for Tapestry 5, this informs Tapestry
of where to look for pages, components and mixins. -->
<param-name>tapestry.app-package</param-name>
<param-value>com.demo</param-value>
</context-param>
这个配置也比较重要,这个配置项告诉Tapestry去哪个package下面去找页面、组件、服务等东西。
在源代码中需要在此配置的package下面建立4个package,分别为:com.demo.pages, com.demo.components, com.demo.services, com.demo.mixins
现在流行约定高于配置,所以Tapestry默认要求使用这样4个package名称。
其中页面类放在pages目录下,组件放在components目录下,服务放在services目录下,mixins翻译起来比较困难(Tapestry的作者也说mixins是一个很tricky的概念,这是一种能让一个真的组件与一些其他特殊组件混合起来的东西)。
B、Tapestry的Filter,现在的Web框架基本上都使用Filter取代以前流行的servlet配置了。
<filter>
<filter-name>app</filter-name>
<filter-class>org.apache.tapestry5.TapestryFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>app</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这里面需要注意的是filter-class中Tapestry的Package中,从5.0以后org.apache.tapestry变为org.apache.tapestry5了(多了一个5)。
这个filter-name是比较重要的一个名字,Tapestry没有一个象Spring那样的Xml配置文件,它的初始化配置工作在一个初始化类中完成,这个初始化类需要放在上面提到的services目录下,类名就是filter-name+Module.class,象我举的例子的话,就是AppModule.java