1.Tapestry框架的加载是通过Filter来完成的,需要在web.xml中加入以下配置:
这时候需要通过构建IgnoredPathsFilter服务,把不需要拦截的url添加到配置中去
在Module类中,添加以下方法:
3.Tapestry遵循"约定大于配置"的开发原则,以contribute为前缀的方法会自动被框架识别(比如上面的contributeIgnoredPathsFilter方法),除此之外还有其他一些约定:
以decorate开头的方法 使用装饰器模式对现有S
<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>
2.这里面,过滤器拦截了所有的URL,某些时候可能希望有一些URL不被拦截(比如Servlet的mapping-url)
这时候需要通过构建IgnoredPathsFilter服务,把不需要拦截的url添加到配置中去
在Module类中,添加以下方法:
public static void contributeIgnoredPathsFilter(Configuration<String> configuration){
configuration.add("/topic");//添加后/topic路径不被Tapestry过滤器拦截
}
除了上述方式,还可以为应用程序单独指定一个context
public void contributeApplicationDefaults(MappedConfiguration<String, String> configuration){
configuration.add(SymbolConstants.APPLICATION_FOLDER, "myApp");
}
同时修改filter的url
<filter-mapping>
<filter-name>app</filter-name>
<url-pattern>/myApp/*</url-pattern>
</filter-mapping>
这样,便不会影响其他Filter和Servlet的使用
3.Tapestry遵循"约定大于配置"的开发原则,以contribute为前缀的方法会自动被框架识别(比如上面的contributeIgnoredPathsFilter方法),除此之外还有其他一些约定:
以decorate开头的方法 使用装饰器模式对现有S