请帮助澄清:
在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。请帮助突出这两种方法的差异和好处。哪个更适用于整个行业?
答案 0 :(得分:2)
JSP include-prelude用于在每个jsp页面的开头注入一个jsp片段。这可以在纯jsp环境中使用,以避免在每个页面上编写相同的代码。注入的代码作为jsp执行。
另一方面,Sitemesh不依赖于jsp环境,而是对html响应进行更静态的格式化。这就是sitemesh不知道html代码的来源,它可能是一个静态的html页面,PHP或JSP或其他。它只需要HTML代码并根据您的模板对其进行格式化并将其发送到路上。
因此,这两种技术可以一起使用,因为它们可以处理响应过程的不同方面。