大型的web站点通常需要一套公共的外观(Look and Feel(L&F)).如果这样一套外观是用代码方式写死在页面中的话,变动外观就是一场梦魇:你必须修改几乎所有的页面。在一个好的设计中,我们应该分离外观和页面内容。使用模板可以定义主要的外观:设置页头,菜单,内容,页脚。页面内容定义在一个jsp页面,不和外观打搅!通过传递页头,菜单,内容,页脚给模板,由其生成最终页面,响应页面请求!页头,菜单,页脚可能所有页面都是相同的。另外使用样式表来保证一致的颜色,格式。
web开发的 另外一个方面是经常重复做同样的事情:web站点包括许多公共部分:菜单,表单,购物车,等等。。。每次我们必须重写或拷贝粘贴同样的代码。但是当你发现一个bug或想修改代码时会发生什么呢?你必须修改所有的拷贝粘贴部分!一个解决方案就是重用组件。你总是插入同样的组件带不同的数据。现在,如果你修改组件,这个修改将应用到所有你使用组件的地方。
Titles允许包含模板和组件。实际上所有的机制都是相似的:你定义页面的所有部分(一个Title)。每个部分可带参数,允许动态内容,能够作为一个方法在java代码中使用。
注意:这章的所有例子都是基于Tiles.war中/examples目录下的新例子。