JSP中有两种包含语句:
1. <%@include file="head.jsp" %>
2. <jsp:include page="head.jsp" />
或者:
<jsp:include page="jieshou.jsp">
<jsp:param name="canshu" value="magci" />
</jsp:include>
两种包含的区别:
1.<%@include file="uri" %>:先包含后处理
a.不管被包含文件是静态还是动态,直接将页面中的全部内容包含进来;
b.执行时先将包含进来的内容一起处理完之后再将所有的内容发给客户端。
2.<jsp:include page="uri" />:先处理后包含
a.能自动区分被包含文件是静态还是动态;
b.如果被包含文件是静态文件,处理方式跟第1种方式一样,
如果是动态文件,则各自处理完之后把结果包含进来发给客户端。
实例:
被包含页面(inc.jsp):
<%
int i=2;
%>
<h1>inc.jsp:<%=i%></h1>
使用<%@include file="uri" %>包含:
<html>
<head>
<title>include1</title>
</head>
<body>
<%
int i=1;
%>
<%@include file="inc.jsp" %>
<h1>JSP:<%=i %></h1>
</body>
</html>
使用<jsp:include page="uri" />包含:
<html>
<head>
<title>include2</title>
</head>
<body>
<%
int i=1;
%>
<jsp:include page="inc.jsp" />
<h1>JSP:<%=i %></h1>
</body>
</html>
通过以上实例可以看出:
第一种方法出现错误:变量重复定义;
第二种方法可以得到结果。