3

请帮助澄清:

在 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。请帮助突出这两种方法的差异和好处。还有哪一种在整个行业中使用得更多?

4

1 回答 1

2

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

另一方面,Sitemesh 不依赖于 jsp 环境,而是对 html 响应进行更静态的格式化。也就是说,sitemesh 不知道 html 代码来自哪里,它可能是静态 html 页面、PHP 或 JSP 或其他。它只是获取 HTML 代码并根据您的模板对其进行格式化,然后将其发送出去。

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

于 2009-11-24T15:09:45.877 回答