代码之家  ›  专栏  ›  技术社区  ›  Nrj

SiteMesh与JSP配置(<include prelude>)

  •  3
  • Nrj  · 技术社区  · 15 年前

    请帮助澄清:

    在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 回复  |  直到 15 年前
        1
  •  2
  •   Vincent Ramdhanie    15 年前

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

    另一方面,SiteMesh不依赖于JSP环境,而是对HTML响应进行更静态的格式化。也就是说,SiteMesh不知道HTML代码来自何处,它可能是一个静态HTML页面、PHP或JSP或其他。它只需获取HTML代码,并根据模板对其进行格式化,然后将其发送到路上。

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