JSP之静态include指令、动态Include指令
2017-02-25 22:47
465 查看
(一)使用静态include指令
<%@ page language="java" contentType="text/html; charset=gb2312"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%@include file="scriptlet.jsp" %>
</body>
</html>
(二)使用动态Include指令
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<jsp:include page="scriptlet.jsp" />
</body>
</html>
scriptlet.jsp页面代码如下:
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
out.write("来自scriptlet.jsp");
%>
</body>
</html>
(三)静态导入和动态导入的区别:
(1)静态导入(include指令)通过file属性指定被包含的文件,并且file属性不支持任何表达式;动态导入(include动作)通过page属性指定被包含的文件,且page属性支持JSP表达式;
(2)使用静态导入(include指令)时,被包含的文件内容会原封不动的插入到包含页中,然后JSP编译器再将合成后的文件最终编译成一个Java文件;使用动态导入(include动作)包含文件时,当该标识被执行时,程序会将请求转发(不是请求重定向)到被包含的页面,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码。因为服务器执行的是多个文件,所以JSP编译器会分别对这些文件进行编译;
(3)使用include指令包含文件时,由于被包含的文件最终会生成一个文件,所以在被包含、包含文件中不能有重名的变量或方法;而include动作包含文件时,由于每个文件是单独编译的,所以在被包含文件和包含文件中重名的变量和方法是不相冲突的。
(4)静态导入是将被导入页面的代码完全融入,两个页面融合成一个整体Servlet,因此被导入页面甚至不需要是一个完整的页面;而动态导入则在Servlet中使用include方法来引入被导入页面的内容;
(5)静态导入时被导入页面的编译指令会起作用;而动态导入时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容。
相关文章推荐
- JSP之 include指令(及其动态包含和静态包含)和JSP之taglib指令
- JSP--JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
- JSP--JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
- JSP_include静态指令 与 include动态动作的区别
- 重新认识 《jsp中include指令静态导入和动态导入的区别》
- jsp中include指令静态导入和动态导入的区别详解
- <jsp:include>动作和include指令的区别/动态包含和静态包含的区别
- JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
- jsp中include指令静态导入和动态导入的区别详解
- JSP--JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
- 我的jsp学习日记——001:@include(静态包含指令)和jsp:include(动态包含指令)的区别
- jsp之Include动态指令和静态指令的区别
- jsp中include指令静态导入和动态导入的区别详解
- java面试笔试题:JSP中动态INCLUDE与静态INCLUDE的区别?
- jsp 静态引入<%@ include %> 动态引入<jsp:include> 区别
- JSP 中动态INCLUDE 与静态INCLUDE 的区别
- JSP中静态和动态include的区别
- java面试笔试题:JSP中动态INCLUDE与静态INCLUDE的区别?
- JSP中动态INCLUDE与静态INCLUDE的区别
- jsp 静态引入<%@ include %> 动态引入<jsp:include> 区别