JSP中有二种包含:静态包含:<%@include file="被包含网页页面"%>和动态性包含:<jsp:include page="被包含网页页面"flush="true">。下边以一个事例来表明怎么使用包含。

案例:

新项目文档树:

JSP页面的静态包含和动态包含使用方法 动态包含 静态包含 JSP JSP编程  第1张

header.jsp文件中內容:

<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
  <title>Insert title here</title>
 </head>
 <body>
 <h1>This is header</</h1> 

content.jsp文件中內容

<table border="1">
 <tr>
  <td>col1</td>
  <td>col2</td>
 </tr>
 <tr>
  <td>col1</td>
  <td>col2</td>
 </tr>
</table>

footer.jsp文件中內容:

<hr>
  copyright: 1999-2010
 </body>
</html>

静态包含:

index.jsp文件中內容:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ include file="/header.jsp" %>
<%@ include file="/content.jsp" %>
<%@ include file="/footer.jsp" %>

网页页面显示信息結果:

JSP页面的静态包含和动态包含使用方法 动态包含 静态包含 JSP JSP编程  第2张

被编写出的java文件:

JSP页面的静态包含和动态包含使用方法 动态包含 静态包含 JSP JSP编程  第3张

动态性包含

index.jsp文件中內容:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<jsp:include page="/header.jsp"></jsp:include>
<jsp:include page="/content.jsp"></jsp:include>
<jsp:include page="/footer.jsp"></jsp:include>

网页页面显示信息結果:

JSP页面的静态包含和动态包含使用方法 动态包含 静态包含 JSP JSP编程  第4张

被编写出的java文件:

JSP页面的静态包含和动态包含使用方法 动态包含 静态包含 JSP JSP编程  第5张

表明

这一事例,应用静态包含和动态性包含最后的实行結果同样,可是完成全过程不一样,很显著编写出的java文件数量不一样。

静态和动态性包含的差别与联络

  注:下面将包含有其他文档的jsp文件称之为行为主体文档,例如上原文中的index.jsp文件。将被包含的文档称之为包含文档,例如上原文中的header.jsp文件。

<%@ include file=” ”%>是命令原素。<jsp:include page=” ”/>是个人行为原素最后编写出java文件的数量不一样。(从上边的事例能够 看得出)

静态包含在变换变成java文件的情况下将包含文档的內容“拷贝”到行为主体文档,随后做为一个总体编译程序。最后编译程序为一个java文件。

动态性包含是每个jsp文件各自变换,各自编译程序。最后程序编写成好几个java文件。

实行時间不一样

静态包含产生在:JSP---->java文件环节。

动态性包含产生在:实行class文档环节。动态性添加。
静态包含在2个文档中不可以有同样的自变量,动态性包含容许。
因为静态包含等同于将包含文档內容立即拷贝到行为主体文档中,假如出現同样的自变量,便会出現遮盖等难题,造成 文档错误。而动态性包含等同于启用不一样的jsp,自变量所属的室内空间不一样,当然不容易出現遮盖等状况。
不论是动态性包含還是静态包含,其request目标全是同样的。也就是同一个request目标。
静态包含最后编写出一个java文件,有一个request目标非常好了解。而动态性包含最后编写出好几个jsp文件,为什么会应用一个request目标呢?实际上这种jsp组成的全过程是一个要求分享的全过程,当然也应用同一个request目标了。

静态包含和动态性包含的应用

简易小结一下,就一句话:被包含的网页页面是静态网页页面就用静态包含,是动态性网页页面就用动态性包含。(自然,并不是很肯定,可是那样用沒有错。)

 jsp静态包含和动态性包含的差别填补:

在jsp中有二种包含,静态包含<%@include file="xxx.jsp"%>和动态性包含<jsp:include page="xxx.jsp">,下边说一下他们中间的差别

1、<%@include file="xxx.jsp"%>为jsp中的编译程序命令,其文档的包含是产生在jsp向servlet变换的阶段,而<jsp:include page="xxx.jsp">是jsp中的姿势命令,其文档的包含是产生在编译程序阶段,也就是将java文件编译程序为class文档的阶段

2、应用静态包含总是造成一个class文档,而应用动态性包含会造成好几个class文档

3、应用静态包含,包含网页页面和被包含网页页面的request目标为同一目标,由于静态包含仅仅将被包含的网页页面的內容拷贝到包含的网页页面中去;而动态性包含包含网页页面和被包含网页页面并不是同一个网页页面,被包含的网页页面的request目标能够 得到的主要参数范畴要相对性大些,不但能够 取到传送到包含网页页面的主要参数,一样也可以获得在包含网页页面往下传送的主要参数