一尘不染

创建JSP布局模板的最佳方法是什么?

jsp

我是JSP和Servlet的新手,我想知道是否有一种巧妙的方法来创建布局jsp并在类似的jsp页面(如asp.net主页)上重用它。

我用谷歌搜索,有人说使用 使用jstl标记库的模板
http://java.sun.com/developer/technicalArticles/javaserverpages/jsp_templates。它说要像这样放置一个标签:

<%@ taglib uri='/WEB-INF/tlds/template.tld' prefix='template' %>

但出现错误(因为jstl.jar和standard.jar在WEB-INF / lib /目录中)。

我很乐意帮助我了解最好的方法。

编辑:我需要的是将页面的布局拆分为诸如内容,标题等部分,并在使用布局模板的页面中设置此部分,就像asp.net主页一样。


阅读 389

收藏
2020-06-08

共1个答案

一尘不染

将以下内容放在WEB-INF / tags / genericpage.tag中

<%@tag description="Overall Page template" pageEncoding="UTF-8"%>
<%@attribute name="header" fragment="true" %>
<%@attribute name="footer" fragment="true" %>
<html>
  <body>
    <div id="pageheader">
      <jsp:invoke fragment="header"/>
    </div>
    <div id="body">
      <jsp:doBody/>
    </div>
    <div id="pagefooter">
      <jsp:invoke fragment="footer"/>
    </div>
  </body>
</html>

要使用此功能:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="t" tagdir="/WEB-INF/tags" %>

<t:genericpage>
    <jsp:attribute name="header">
      <h1>Welcome</h1>
    </jsp:attribute>
    <jsp:attribute name="footer">
      <p id="copyright">Copyright 1927, Future Bits When There Be Bits Inc.</p>
    </jsp:attribute>
    <jsp:body>
        <p>Hi I'm the heart of the message</p>
    </jsp:body>
</t:genericpage>

这确实符合您的想法!

这是威尔·哈顿(Will Hartung)在此链接上做出的一个很好的回答的一部分。

2020-06-08