Tapestry中配置文件page的简化处理
Tapestry每个页面基本上都需要一个.page的配置文件,因为需要对模板HTML的动态内容部分进行配置,这是为静态页面和动态内容更好的分工,确实需要这么做。
但是,每个page文件的典型配置如下:
<page-specification class="...">
<property...>
<bean name="delegate" ...>
<component ...>
<asset ...>
</page-specification>
- 其中<component...>部分我觉得是必须的,HTML上输入域只需要增加一个jwcid=...即可,其它配置写入page文件中较好。
- <property...>部分作者文档推荐这么做,这一部分也可以写入page中;
- 对于<bean name="delegate" ...>部分,一般情况下对于错误的处理整个web应用应该使用同一个代理,所以不需要在每个page中进行重复配置。只需要修改tapestry -4.0.jar/org/apache/tapestry/form/Form.jwc的<bean name="defaultDelegate" class="YourDelegateClass"/>即可。
- <asset...>部分我觉得没有必须在每个page中设定图片或css资源,将这些资源统一管理更方便。请参考Tapestry对图片或CSS等资源的统一控制研究。
- 另外,对于Form标准组件的使用上,delegate属性(根据上面一条)不需要,clientValidationEnabled也可以根据上面的做法修改为true,其它属性一般情况下是不需要的,所以Form组件也不需要在page文件中进行配置。
这样一来,page文件中只剩下输入组件和属性的配置了,我觉得这么作可以大大地减轻配置的工作量。