include指令:
include指令被称为文件加载指令,可以将其他的文件插入jsp网页,被插入的文件必须保证插入后形成的新文件符合jsp页面的语法 规则。
include指令语法格式: <%@include file="filename"%>
include只有一个file属性,fliename指被包含的文件的名称(相对路径),被插入的文件必须与当前jsp页面在同一web服务器下。
功能:该指令标签作用是在该标签位置处,静态插入一个文件。
所谓静态插入是指用被插的文件内容代替该指令标签,与当前jsp文件合成并形成新的jsp页面。使用jsp的include指令有助于实现jsp 页面的模块化。 一个页面可以包含多个include指令。
例题:include1.jsp代码:
<%@page language="java" pageEncoding="UTF-8"%>
<html>
<head><title>被include包含的文件</title></head>
<body><h1>Hello World!</h1></body>
<html>
include2.jsp代码:
<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head><title>include实例</title></head>
<body>
<center>
现在的日期和时间是:<%=new Date()%>
<hr>
<%@include file="include1.jsp"%> //加载include1.jsp文件
</center>
</body>
<html>
PS:这两个文件在运行前(部署时),经编译合成一个*.class文件(这种性质称为静态插入),运行时只执行这个class文件。
<jsp:include>动作:
语法格式:<jsp:include page="文件的名字"/>
功能:当前jsp文件动态包含一个文件,即当前jsp页面,被包含的文件各自独立编译为字节码文件。当执行到该动作标签处,才加 载 执行被包含 的 字节码。
include动作与include指令所实现的两种包含,程序的执行性质是完全不同的,前者是动态包含,后者是静态包含。动态包含可以 在两 个文件之 间传递参数,静态包含则不能。
参数专递原理:使用param标记传递参数,实际上是将数据信息,以name属性值为变量名,将该变量及其值保存到“请求对象(request)”中,在另 一 个文件中,再从request对象中获取该数据信息,并进行处理。
示例:string.jsp 代码:
<%@page contenType="text/html" pageEncoding="UTF-8"%>
<html>
<head><title>传参数页面</title></head>
<body>
<h4>改页面传递一个参数QQ,直线下是接受参数页面的内容</h4>
<hr>
<jsp:include page="output.jsp">
<jsp:param name="userName" value="QQ"/> //将数据“QQ”通过变量userName传递给另一个文件(output.jsp)
</jsp:include>
</body>
</html>
output.jsp 代码:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head><title>接受参数页面</title></head>
<body>
接受参数,并显示结果页面。<br/>
<% String str=request.getParameter("userName");%> //利用request对象获取参数userName值。
<font color="blue" size="12"><%=str%></font>您好,欢迎您访问!
</body>
</html>