JSP基本语法--包含指令<%@include file="路径"%> <jsp:include page>
包含指令,真正改变的地方只有具体内容处:
方法1: 在每个jsp页面(HTML)都包含工具栏,头部信息,尾部信息,具体内容
方法2: 将工具栏,头部信息,尾部信息都分成各个独立的文件,使用的时候直接导入进来
方法2比1更好,如果采用第一种做法的话,很多代码会出现重复的问题。第二种形式的话,修改的时候很方便,因为是导入进来的。

包含分为静态包含和动态包含。
- 静态包含
方式: <%@include file="路径"%>,很类似于<%@page=%>命令
info.html
<h2><font color="red">info.htm</font></h2>
info.jsp:
<h2><font color="green"><%="info.jsp"%></font></h2>
info.inc:
<h2><font color="blue">info.inc</font></h2>
include_demo01.jsp:
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<h1>静态包含操作</h1>
<%@ include file="info.htm"%>
<%@ include file="info.jsp"%>
<%@ include file="info.inc"%>
</body>
</html>
结果如下:

3个文件都被包含进来,就是将内容直接替换,好比程序中的变量一样。
- 动态包含:
方式:
<jsp:include page=“{要完结的路径|<%=表达式%>}” flush="true/false">
<jsp:param name="参数名称" value="参数内容"/>
</jsp:include>
只要代码以<>出现的jsp代码,都称为标签指令,所有的标签都要完结:
例子:include_demo02.jsp:
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<h1>动态包含操作</h1>
<jsp:include page="info.htm"/>
<jsp:include page="info.jsp"/>
<jsp:include page="info.inc"/>
</body>
</html>
如果使用参数的话先定义一个接收参数的文件:
<%@ page contentType="text/html" pageEncoding="GBK"%>
<h1>参数一:<%=request.getParameter("name")%></h1>
<h1>参数二:<%=request.getParameter("info")%></h1>
再定义一个传递参数的文件:
注意,要传递变量通过表达式完成,而不用out.println()
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<h1>动态包含操作</h1>
<%
String username = "LiXingHua" ;
%>
<jsp:include page="receive_param.jsp">
<jsp:param name="name" value="<%=username%>"/>
<jsp:param name="info" value="www.mldnjava.cn"/>
</jsp:include>
</body>
</html>
现在,有静态包含和动态包含,使用哪种?
看下面的例子:
include.jsp;
<%
int x = 10 ;
%>
<h1>include.jsp -- <%=x%></h1>
下面通过静态包含语句,包含以上文件,并定义一个与之前一样同名的变量:
include_demo04:
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<%
int x = 100 ; // 变量重复
%>
<h1>include_demo04.jsp -- <%=x%></h1>
<%@include file="include.jsp"%>
</body>
</html>
程序运行结果,出现500错误,因为x变量重复了,原因:静态包含的处理原则:
静态包含属于先包含后处理:

动态包含include_demo05.jsp:
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<%
int x = 100 ; // 变量重复
%>
<h1>include_demo04.jsp -- <%=x%></h1>
<jsp:include page="include.jsp"/>
</body>
</html>
结果如下:
并没有发生任何错误,因为动态包含的时候,如果包含动态页面,原则是先处理后包含的方式,包含的是处理的结果。
所以,动态包含操作更容易使用,因为开发中容易发生重复定义变量的问题,所以建议多使用动态包含。

JSP基本语法--包含指令<%@include file="路径"%> <jsp:include page>的更多相关文章
- jsp 中 include指令 用法, <%@ include file="..."%> 和 <jsp:include page="..." flush="true" />的区别?
原文链接https://blog.csdn.net/u012187452/article/details/51779052 1. 什么是jsp 文件? 个人理解. jsp 是一个容器,可以将我们编写 ...
- JSP基本语法总结【1】(jsp工作原理,脚本元素,指令元素,动作元素)
时隔半年,回头对jsp复习整理一下,温故而知新. jsp工作原理: jsp服务器管理jsp页面分两个阶段:转换阶段(translation phase)和执行阶段(execution phase). ...
- <%@ include file="">和<jsp:include file="">区别
<%@include file="a.jsp"%>是在编译时加入,所谓静态,就是在编译的时候将jsp的代码加入进来再编译,之后运行. <jsp:include p ...
- include file与jsp:include 的区别
<%include file="a.jsp"%>静态包含,先加入再编译,就是在编译的时候将a.jsp的代码加入进来在编译,只会生成一个servlet文件,而且不同a ...
- jsp的静态包含与动态包含:<%@ include file="" %>和<jsp:include page=""></jsp:include>区别与分析
<%@ include file="" %>是将文件原封不动的copy进现有的文件中,像是拼接好后,再编译成为servlet运行. <jsp:include pa ...
- Jsp的语法和指令
Jsp的三种注释 前端语言注释:<!-- --> 会被转译,也会被发送,但是不会被浏览器执行 java语言注释: 会被转译,但是不会被servlet执行 Jsp注释:<%-- -- ...
- <%@ include file=""%>与<jsp:include page=""/>两种方式的作用
一.前言 身为一名coder有太多太多的知识点要去学,太多太多的东西要去记.往往一些小细节也就难免疏忽,但悲催的是多数困恼你的bug就是因为这些微不足道的知识点.我们又不是机器人,怎么可能什么都记得了 ...
- 2019/7/18 --1.<%@ include file=""%>与<jsp:include page=""/>两种方式的作用
一.前言 身为一名coder有太多太多的知识点要去学,太多太多的东西要去记.往往一些小细节也就难免疏忽,但悲催的是多数困恼你的bug就是因为这些微不足道的知识点.我们又不是机器人,怎么可能什么都记得了 ...
- <%@ include file=""%>与<jsp:include page=""/>两种方式的作用以及传值
一:使用 1.include指令: 1 <%@include file="文件的绝对路径或者相对路径"%> file属性是必填的(绝对或相对路径),但它不支持 ...
随机推荐
- 【转】关于spring集合对象的补充
<span style="font-size:18px;">关于spring集合对象的补充 spring2.0中对集合对象有了改进,新增了一个<util>标 ...
- Python os.path模板函数
os.path.abspath(path) #返回绝对路径 os.path.basename(path) #返回文件名 os.path.commonprefix(list) #返回list(多个路径) ...
- FZU 2195 检查站点
求出根节点到每个叶子节点的距离,找到最大的.然后总权值减去最大叶子距离就是答案. GNU C++ AC Visual C++ TLE #include<stdio.h> #include ...
- 第一百零一节,JavaScript流程控制语句
JavaScript流程控制语句 学习要点: 1.语句的定义 2.if 语句 3.switch语句 4.do...while语句 5.while语句 6.for语句 7.for...in语句 8.br ...
- PostgreSQL 命令
查看Schema: select * from information_schema.schemata; 查看使用的配置文件: SHOW config_file;
- 【解题报告】瑞士轮(NOIP2011普及组T3)
[题外话:这道题吧……说实话我不太喜欢……因为卡快排.] 题目不贴了,就是给你一个赛制,然后各个选手的初始得分和能力值,问你进行R轮比赛之后第Q名的编号是多少(这个编号读进来就要算OYZ,初始快排的时 ...
- HDU 1081 To The Max(动态规划)
题目链接 Problem Description Given a two-dimensional array of positive and negative integers, a sub-rect ...
- CodeForces 697B Barnicle 模拟
强行模拟 纪念一下…… #include<stdio.h> #include<iostream> #include<algorithm> #include<m ...
- tab一些 添加 删除 搜索
tab一些 添加 删除 搜索 案例 <!DOCTYPE html><html lang="en"><head> <meta charset ...
- 在 iOS 应用中直接跳转到 AppStore 的方法
找到应用程序的描述链接,在itunes中找到相应的应用,(如下图),点击免费右边的下方向键,选择复制链接,就拿到了对应的app的描述链接 比如:https://itunes.apple.com/c ...