1、通过在Java代码中使用Java Annotations和在Html模板中使用implicit components,可以不再写page specification。这样,一个页面的开发就简化为Html模板和Java类两个文件。(Tapestry 5中就不再使用page specification了)
2、Tapestry页面文件的组织
不使用page specification后,页面文件只有Html模板和Java类两种了。
通常,Html模板放置在Web应用的根目录下,在application specification中指定相应的Java类的查找路径,如下:
<?xml version="1.0"?>
<!DOCTYPE application PUBLIC
"-//Apache Software Foundation//Tapestry Specification 4.0//EN"
" http://tapestry.apache.org/dtd/Tapestry_4_0.dtd">
<application>
<meta key="org.apache.tapestry.page-class-packages" value="tutorials.directlink.pages"/>
</application>
<!DOCTYPE application PUBLIC
"-//Apache Software Foundation//Tapestry Specification 4.0//EN"
" http://tapestry.apache.org/dtd/Tapestry_4_0.dtd">
<application>
<meta key="org.apache.tapestry.page-class-packages" value="tutorials.directlink.pages"/>
</application>
一个Web应用往往由很多页面组成,这些页面如果全部集中放置在根目录下很乱,如果能够分目录来组织这些页面就会很清晰。Tapestry中做法是:
- 在Web应用的根目录下建立子目录,如user
- 在user下建立页面模板,如AddUser.html
- 建立tutorials.directlink.pages.user包,并在其中实现AddUser.java(以上面介绍的application specification为例)
- 以“user/AddUser”来引用页面