这就是我想要做的:
我有一个带有页眉、菜单栏、正文和页脚的主模板。正文被在 sitemesh 的帮助下调用的实际页面替换,如下所示:
<div class="main">
<decorator:body />
</div>
标题等相同。
我的问题是菜单栏:我想在实际页面中声明菜单栏的内容。每一页的菜单都会发生变化,但我不想在每一页中复制菜单栏的布局。
我的工具是 JSP、Sitemesh 和 Spring MVC 3。
可能吗?如果是,如何?
我是这样做的:
模板.jsp:
<div class="menubar" >
<decorator:getProperty property="page.navig"></decorator:getProperty>
</div>
实际页面.jsp:
<body>
<content tag="navig">
my menu \o/
</content>
...
</body>
注意:没有“页面”。这没用。
我认为您应该使用page:applyDecorator 标签。您将有一个专门的菜单栏装饰器,负责菜单栏的布局,并且菜单栏的内容将在标签的正文中,在每个页面中。
我没有使用它,但这个标签似乎完全符合你的要求。
在您的类似配置中,我只是使用 jsp 包含标记
<div class="mymenu">
<jsp:include page="menu.jsp"/>
</div>