T5 技巧 3:使用“t::body”进行布局。

阅读更多
现在正在使用T5开发一个小项目。 因为现在T5还正处于发展中。 而且没有像T4一样有许多的文档。 和例子(Workbench, Vlib)。 所以我会把在这个开发中遇到的一些问题记录下来。

我们知道在tapestry4的自带的例子中会有个Border组件。这个自定义的组件其实是起到了一个布局的作用。对网站的统一风格有很大的好处。但是在tapestry5中没有RenderBody这个组件。然而在tapestry5的文档中倒是有提怎样实现。请看http://tapestry.apache.org/tapestry5/tapestry-core/guide/templates.html, 但是作者也是随便提了提。

我们创建一个Layout组建。这个其实就是tapestry4中Border组建了。
Layout.html



   


Gtts












这其实是一个很普通的tapestry的页面模板。请注意123行的“”。这就是关键所在,当你使用这个Layout组建时, 组建body的内容就会被render到t:body的地方。

对应的,你需要再增加个page class, 虽然它在这里其实是个空壳。 但是你也可以定义参数之类的。 它是一个tapestry component(组件)

Layout.java

package com.javaeye.dengyin2000.gtts.components;

public class Layout {

}


下面是怎样使用这个布局组件。

AddOrEditDriver.html




			
* 为必填项

${action}司机




所有的页面都是t:layout包括。  当然这部分页面会被layout组件render出来。

注意: 你最好是在你的所有的page template开头加上   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 这个部分。 要不然会遇到页面中如果有 之类的tag。 页面解析会报错。

你可能感兴趣的:(Tapestry,IE,XHTML,HTML,XML)