静态包含<%@include ....%>和动态包含<jsp:include …./>标准动作的区别

有两种include方式:1.include指令(静态包含);2.include动作(动态包含)

静态包含<%@include file="demo.jsp"% >
将include的文件直接解析到当前页面。弊端:例如当前界面与引用的文件不能有重名等。
如下面的a变量,在demo.jsp中也定义了a变量。静态包含会报变量已定义的错误,动态包含不会。

动态包含
类似与Java中的import引入类,可以有重名等。

示例:
demo.jsp,用于被包含,有一个a变量

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>demo.jsp</title>
</head>
<body>
<%
    int a = 99;
%>

<h3>我是被包含的demo.jsp页面</h3>
</body>
</html>

静态包含

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>index2.jsp</title>
</head>
<body>
<h1>有两种include方式:1.include指令(静态包含);2.include动作(动态包含)</h1>
<%--静态包含:将include的文件直接解析到当前页面。弊端:例如当前界面与引用的文件不能有重名等
如下面的a变量,在demo.jsp中也定义了a变量。静态包含会报变量已定义的错误,动态包含不会--%>

<%@include file="demo.jsp"%>

<hr>
<%
    int a = 99;
%>
</body>
</html>

会报变量已定义的错误,因为在demo.jsp中已经有了a变量
静态包含<%@include ....%>和动态包含<jsp:include …./>标准动作的区别_第1张图片

动态包含

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>index2.jsp</title>
</head>
<body>
<h1>有两种include方式:1.include指令(静态包含);2.include动作(动态包含)</h1>

<%--动态包含:类似与Java中的import引入类,可以有重名等--%>

<jsp:include page="demo.jsp"/>

<hr>
<%
    int a = 99;
%>
</body>
</html>

不会报错。

你可能感兴趣的:(JSP学习,jsp,web)