【问题标题】:What is the best way to create JSP layout template? [duplicate]创建 JSP 布局模板的最佳方法是什么? [复制]
【发布时间】:2012-05-18 18:53:39
【问题描述】:

可能重复:
JSP tricks to make templating easier?

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

我google了一下,有人说用模板 http://java.sun.com/developer/technicalArticles/javaserverpages/jsp_templates 使用jstl标签库。它说要放置这样的标签:

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

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

但是有人说jstl模板有问题根据这个 Struts OR Tiles OR ???...... JSP template solution

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

编辑:我需要将页面的布局拆分为内容、标题等部分,并将这些部分设置在使用布局模板的页面中,就像 asp.net 母版页一样。

【问题讨论】:

标签: java jsp jstl


【解决方案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 在this link 上的精彩回答的一部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 2010-11-13
    • 2018-03-21
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    相关资源
    最近更新 更多