tiles:insertDefinition和tiles:insertTemplate都有putAttribute,我不明白这两者之间的区别。我使用的是tiles 2.x版本。
提前感谢
克兰蒂
发布于 2013-04-27 12:24:07
模板是一个视图,它需要提供属性,而定义是在tiles.xml中定义的模板的命名实例(或使用API实用)。
因为要插入在tiles.xml中布局的定义,所以tiles:insertDefinition需要设置名称属性。
tiles:insertTemplate在现场从视图创建新的定义,并希望您在该点上插入值。它需要设置模板参数,没有name属性。
一般来说,我认为你不应该经常使用这两个标签(你可以使用应用程序创建磁贴,而不需要使用这两个标签)。避免使用它们意味着将所有定义清晰地放置在一个位置,并能够看到所有定义如何组合在一起。
这个中心视图是tiles的最大优势,而这些标签可能会破坏它。
tiles: inserting定义仍然意味着使用命名定义,仍然有一个中心位置,所有布局都是受控制的,但是因为我们在视图中插入定义,所以我们失去了所有东西如何组合在一起的概述。
tiles: in模板类似于JSP include,此时您正在视图中创建一个新的定义并使用它。此平铺不是拱顶视图的一部分。
如果论点不清楚,JSP includes可以实现与Tiles相同的模板代码减少。它是tiles提供的总体视图,允许您轻松地更改整个应用程序的页面结构。请仔细考虑这一点并未受到破坏。
https://stackoverflow.com/questions/16229352
复制相似问题