参考 :https://stackoverflow.com/questions/10529963/what-is-the-best-way-to-create-jsp-layout-template

在开发前端网页过程中,网站一般都有一个模板页,用来保存整个网站最基本的风格,而其它网页都在这个风格上进行修改。在JSP中可通过tag来实现此项功能。

在WEB-INF/tags/目录下新建一个base.tag的模板页面用来保存新创建的模板:

<%@tag description="Overall Page template" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@attribute name="num" rtexprvalue="false" required="true" %>
<%@attribute name="header" fragment="true" required="true"%>
<%@attribute name="footer" fragment="true" required="true"%> <html>
<body>
<div id="header">
<jsp:invoke fragment="header"/>
</div>
<div id="body">
<jsp:doBody/>
<p>${num}</p>
<p><c:out value="${num}"/></p>
</div>
<div id="footer">
<jsp:invoke fragment="footer"/>
</div> </body>
</html>

在这个模板中我们定义了两个可替换的部分:header,footer;一个变量num。

子页面使用这个标签方式如下:

    <%@taglib prefix="t" tagdir="/WEB-INF/tags" %>  

    <t:base num="abc">  

    <jsp:attribute name="header">
<title>Welcome</title>
<h1>Welcome</h1>
</jsp:attribute> <jsp:attribute name="footer">
<p id="copyright">Copyright 2016, Inc.</p>
</jsp:attribute> <jsp:body>
<h2>Howdy, <s:property value="username" />...!</h2>
</jsp:body>
</t:base>

最新文章

  1. Oracle11g中数据的倒库和入库操作以及高版本数据导入低版本数据可能引发的问题
  2. R语言实战(一)介绍、数据集与图形初阶
  3. 调用JavaScript
  4. CF735D Taxes 哥德巴赫猜想\判定素数 \进一步猜想
  5. z-tree
  6. bootstrap知识小点
  7. [codility]Grocery-store
  8. POJ_3111_K_Best_(二分,最大化平均值)
  9. LeetCode_Edit Distance
  10. 枚举基类Enum详解
  11. Javascript 设计模式 辛格尔顿
  12. SQL Server系统数据库备份最佳实践
  13. 201521123059 《Java程序设计》第四周学习总结
  14. CNVD-C-2019-48814 漏洞
  15. python中Requests库错误和异常
  16. C#中XML的读取
  17. MySQL在windows下的noinstall安装
  18. Date类学习总结(Calendar Date 字符串 相互转换 格式化)
  19. (暂时弃坑)(半成品)ACM数论之旅18---反演定理 第二回 Mobius反演(莫比乌斯反演)((づ ̄3 ̄)づ天才第一步,雀。。。。)
  20. Windows进程间各种通信方式浅谈

热门文章

  1. PHP如何在页面中原样输出HTML代码
  2. WebStorm添加多个项目到当前工程目录
  3. Fresco框架SimpleDraweeView控件的简单使用
  4. SFTP &amp;amp; FTP Upload
  5. Windows API 教程(七) hook 钩子监听
  6. GIS可视化——属性图
  7. PocketBeagle 初高级设置
  8. vue 组件创建与销毁
  9. [JS][jQuery]清空元素html(&amp;quot;&amp;quot;)、innerHTML=&amp;quot;&amp;quot; 与 empty()的差别:关于内容泄露问题
  10. 【Python】python3中urllib爬虫开发