参考 :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> ?
JSP中的内容布局
原文地址:http://www.cnblogs.com/Amos-Turing/p/8059290.html