使用 jsp 和 sitemesh 的高级模板

发布于 2024-10-13 08:08:10 字数 322 浏览 0 评论 0原文

这就是我想要做的:

我有一个带有页眉、菜单栏、正文和页脚的主模板。正文被在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

南街九尾狐 2024-10-20 08:08:10

我是这样做的:

template.jsp:

<div class="menubar" >
   <decorator:getProperty property="page.navig"></decorator:getProperty>
</div>

actualpage.jsp:

<body>
   <content tag="navig">
      my menu \o/
   </content>
...
</body>

注意:没有“页面”。它不起作用。

Here's how i did it :

template.jsp :

<div class="menubar" >
   <decorator:getProperty property="page.navig"></decorator:getProperty>
</div>

actualpage.jsp :

<body>
   <content tag="navig">
      my menu \o/
   </content>
...
</body>

Note : without the 'page.' it does not work.

遮了一弯 2024-10-20 08:08:10

我认为您应该使用 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.

2024-10-20 08:08:10

在与您类似的配置中,我只是使用 jsp include 标记

<div class="mymenu">
    <jsp:include page="menu.jsp"/>
</div>

In a similar configuration of yours, I'm simply using a jsp include tag

<div class="mymenu">
    <jsp:include page="menu.jsp"/>
</div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文