将公共属性放在Spring MVC Web应用程序中

时间:2014-07-06 19:04:08

标签: html jsp java-ee spring-mvc head

在我正在处理的Spring MVC应用程序项目中,我们的View层中有许多JSP文件。在每个内容中,我们都有一个Html元素,其中包含页面标题,关键字,样式表链接等属性。

随着我们的JSP文件数量不断增加,我希望避免复制和粘贴HTML头元素中的常用部分,例如title和meta信息。此外,页面标题和关键字元素将来可能会发生变化,我不打算打开每个JSP文件来传播更改。

我首先想到的是创建.properties文件并以下列方式使用JSTL fmt:message标记:

<fmt:message key="villap.title" var="title" />
<fmt:message key="villap.keywords" var="keywords" />

<head>
    <title>${title}</title>
    <meta name="keywords" content="${keywords}"/>
</head>

我仍然必须在每个JSP文件中放置相同的代码段。

这里的最佳做法是什么?我应该将HTML头部分放在一个单独的JSP文件中并每次都导入它吗?

1 个答案:

答案 0 :(得分:3)

如果你不想一次又一次地重复相同的HTML,你应该使用模板框架(Apache Tiles,SiteMesh,Velocity和Freemarker就是一些例子)。 Spring Reference将这些框架称为查看技术,并且有一些有关其使用情况的信息。

Persanaly,我使​​用JSP标记文件而不是任何第三方框架,我对此非常满意。 This answer提供了开始使用它时需要了解的所有技术细节。