使用 jsp 和 sitemesh 的高级模板
这就是我想要做的:
我有一个带有页眉、菜单栏、正文和页脚的主模板。正文被在 sitemesh 的帮助下调用的实际页面替换,如下所示:
<div class="main">
<decorator:body />
</div>
标题等相同。
我的问题是菜单栏:我想在实际页面中声明菜单栏的内容。每个页面中的菜单都会发生变化,但我不想在每个页面中重复菜单栏的布局。
我的工具是JSP、Sitemesh和Spring MVC 3。
可以吗?如果是的话,又是怎样的呢?
Here's what i am trying to do:
I have a main template with header, menubar, body and footer. The body is replaced by the actual page called with the help of sitemesh like this:
<div class="main">
<decorator:body />
</div>
Same for the title etc.
My problem is with the menubar: i would like to declare the content of the menubar in the actual page. The menus changes in every page, but i don't want to duplicate the layout of the menubar in every page.
My tools are JSP, Sitemesh and Spring MVC 3.
Is it possible? And if it is, how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我是这样做的:
template.jsp:
actualpage.jsp:
注意:没有“页面”。它不起作用。
Here's how i did it :
template.jsp :
actualpage.jsp :
Note : without the 'page.' it does not work.
我认为您应该使用 page:applyDecorator 标签。您将有一个专门的菜单栏装饰器,负责菜单栏的布局,并且菜单栏的内容将位于每个页面的标签正文中。
我没有使用过它,但这个标签似乎完全符合你的要求。
I think you should use the page:applyDecorator tag. You would have a dedicated decorator for the menu bar, responsible for the layout of the menubar, and the contents of the menubar would be in the body of the tag, in every page.
I have not used it, but this tag seems to do exactly what you want.
在与您类似的配置中,我只是使用 jsp include 标记
In a similar configuration of yours, I'm simply using a jsp include tag