【问题标题】:Templates in a Spring MVC web applicationSpring MVC Web 应用程序中的模板
【发布时间】:2013-10-21 05:57:11
【问题描述】:

我的 Web 应用程序设计中有很多公共区域,例如页脚、页眉侧边栏、块...等,并且通过所有应用程序 JSP 文件来更改例如页眉中的某些内容非常忙碌,所以我想知道我是否可以为公共区域制作类似模板文件的东西,例如页眉模板、侧边栏模板、页脚模板,然后我可以在我的应用程序中的任何 JSP 中包含这些模板?

我正在使用 Spring MVC 框架来构建我的应用程序

【问题讨论】:

  • @Jk1 非常感谢,看起来不错,但我正在寻找更简单的实现方法。或者说如何直接应用在应用中而不需要任何额外的框架,你觉得这可能吗?
  • 确实有一种更简单的方法。将页眉/页脚内容封装在自定义 JSP 标记中。不需要额外的框架/库。这是手册:docs.oracle.com/javaee/5/tutorial/doc/bnama.html
  • @Jk1 最后一个问题,如果你不介意的话,假设我想在模板中更高级,并且我的应用程序可以支持多个主题,这些主题可以由应用程序管理员轻松更改,我该怎么做去做? Apache Tile 会帮助我完成这项任务吗?对于此类任务,还有其他更好的框架吗?感谢您的宝贵时间
  • Spring MVC 内置了自定义主题支持,所以只需使用它:javabeat.net/2013/05/spring-themes

标签: java spring jsp spring-mvc


【解决方案1】:

至于模板,您有以下选择:

  1. 自定义 JSP 标记。这些标签可以作为 Java 类或 JSP sn-ps 存在,并提供了封装和重用 JSP 页面(页眉、页脚等)部分的基本设施。在this manual

  2. 中查看更多信息
  3. 模板引擎如Tiles 或装饰器如Sitemesh。它们在构建复杂的页面布局方面非常强大。

如果您正在寻找自定义 UI 主题支持,请查看 Spring MVC 中的 custom themes support

【讨论】:

  • Sitemesh 不是模板引擎。这是一个装饰器。
【解决方案2】:

我使用过 Apache Tiles。它可以很容易地与 Spring MVC 集成。你也可以考虑使用sitemesh。正如你提到的页眉模板,页脚模板你可以有基本模板 页眉,页脚,菜单,您可以将它们集成到基本模板中,

注意:这里只能有jsp,不能有html。

查看此链接以了解带有瓷砖的弹簧。

http://www.springbyexample.org/examples/dynamic-tiles-spring-mvc-module.html

【讨论】:

【解决方案3】:

如果你想将 Header、Footer 和其他一些常见的东西从“真实”内容中分离出来,那么你可以使用Apache Tiles

在 spring 中很容易集成。因此,例如 Spring Roo 使用它。

【讨论】:

    【解决方案4】:

    理想情况下是的,您需要创建通用文件而不是冗余代码,因为如果您想更改单个内容,它可能会导致许多更改。因此,请尝试根据您的要求使用以下代码。

    <%@ include is a static include, <jsp:include is a dynamic include.

    另一个解决方案:当您使用 Spring 框架时,请尝试在 google 中使用 spring tile 搜索以获取更多帮助,例如 SpringByExample

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-17
      • 2010-10-18
      • 1970-01-01
      • 2015-10-24
      • 2010-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多