2008-12-20 96 views
4

我使用Spring的MVC和JSP视图。每个JSP页面都有类似的结构 - 标题,内容,页脚,可能是侧边栏等。寻找“最佳实践”,人们似乎“包含”页脚和标题,但这意味着每个JSP页面都包含这些“包含”给出一个固定的格式。在我看来,更好的解决方案将涉及嵌套视图,其中基础模板通过适合于所讨论的页面的信息进行扩展。这种方法的一个优点是,您可以在基本模板中使用默认值,而无需在别处重复。另一个优点是,您可以在包含大量文本的页面中进一步分离结构和内容(“页眉”和“页脚”是结构性的,因此属于基本模板)(想想帮助页面 - 您可以将所有内容数据库,但为什么打扰,特别是因为使用Spring可以通过区域设置解析到不同的视图?)。基于JSP的Spring模板

似乎在Spring的MVC级别上没有任何支持,但它可以在JSP中使用自定义标签实现,实际上,这是一个相当笨拙的尝试here(这可能解释我想要的更好比这个问题,虽然我认为你可以使它更少侵入)。

无论如何,我的问题是 - 这是否已经作为(流行/标准)标签库存在?我很高兴编写自定义标签,但我对这些东西(生成网站)的印象是,现在已经有大量的解决方案,大多数工作都在选择正确的工具(如Spring)。谢谢。

回答

6

我推荐SiteMesh。它适用于Spring。

+0

链接已中断 – 2013-07-30 16:53:41

2

如果你没有绑定到Spring MVC,我会建议Apache Wicket,因为它允许你描述的行为类型。它还与IoC的Spring集成得很好。

Wicket's markup inheritance

3

我可能不会在这里得到完整的图片,但你也可能想看看apache tiles

我个人更喜欢以避免增加新的架构的复杂性,所以我只是坚持使用tag files

1

我建议Apache Tiles

我与SiteMesh的和Tiles做到了这一点。但是我相信Tiles对于这项工作比SiteMesh更好。 - 在MHO中,SiteMesh的目标更多是操纵现有的网页。