sitemesh vs jsp-config(<include-prelude>)</include-prelude>

时间:2009-11-24 15:01:03

标签: jsp sitemesh

请帮助澄清:

在web.xml中我有以下

<jsp-config>
    <jsp-property-group>
      <url-pattern>*.jsp</url-pattern>
      <el-ignored>false</el-ignored>
      <page-encoding>utf-8</page-encoding>
      <include-prelude>/jstlTaglibs.jspf</include-prelude>
    </jsp-property-group>
</jsp-config>

同样在decorators.xml中我有

<decorator name="footer" page="footer.jsp">
    <pattern>*.action</pattern>
</decorator>

通过sitemesh.xml使用。 footer.jsp上写着

...
<decorator:body />
<@include .. "footer.jsp"/> 

所以我收集的是,上面的两个代码在某种意义上注入了一些jspf。请帮助突出这两种方法的差异和好处。哪个更适用于整个行业?

1 个答案:

答案 0 :(得分:2)

JSP include-prelude用于在每个jsp页面的开头注入一个jsp片段。这可以在纯jsp环境中使用,以避免在每个页面上编写相同的代码。注入的代码作为jsp执行。

另一方面,Sitemesh不依赖于jsp环境,而是对html响应进行更静态的格式化。这就是sitemesh不知道html代码的来源,它可能是一个静态的html页面,PHP或JSP或其他。它只需要HTML代码并根据您的模板对其进行格式化并将其发送到路上。

因此,这两种技术可以一起使用,因为它们可以处理响应过程的不同方面。