Tapestry 5.1教程:web.xml的配置

Tapestry 5.1中web.xml的配置

一般来说,使用Tapestry需要在Tapestry中添加2项内容

A、   

 
 
 
  1. < context-param> 
  2.         < !-- The only significant configuration for Tapestry 5, this informs Tapestry  
  3. of where to look for pages, components and mixins. --> 
  4.         < param-name>tapestry.app-package< /param-name> 
  5.         < param-value>com.demo< /param-value> 
  6.     < /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配置了。

 
 
 
  1. < filter> 
  2.     < filter-name>app< /filter-name> 
  3.     < filter-class>org.apache.tapestry5.TapestryFilter< /filter-class> 
  4. < /filter> 
  5. < filter-mapping> 
  6.     < filter-name>app< /filter-name> 
  7.     < url-pattern>/*< /url-pattern> 
  8. < /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。

【编辑推荐】

  1. 学习Tapestry的十个关键点
  2. Tapestry函数执行顺序浅析
  3. Tapestry 5输入验证的实现方法
  4. JSP开发框架JSF对比基于Servlet的Tapestry
  5. Tapestry 5组件事件详解
THE END