- 本文是Tapestry教程的入门篇,讲述Tapestry 5.1中web.xml的配置。
Tapestry 5.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 5.1默认要求使用这样4个package名称。
其中页面类放在pages目录下,组件放在components目录下,服务放在services目录下,mixins翻译起来比较困难 (Tapestry的作者也说mixins是一个很tricky的概念,这是一种能让一个真的组件与一些其他特殊组件混合起来的东西)。
B、Tapestry 5.1的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。