jsp学习之包含——include
http://blog.e23.cn/?uid-1255655-action-viewspace-itemid-134232
1.include:
Include 指令: <%@ include file="filename" %>
Include 动作: <jsp:include page="page.jsp" flush="true" />
<%@include %>指令将会在JSP编译时插入一个包含文本或代码的文件,当你使用<%@ include %>指命时,这个包含的过程就当是静态的。静态的包含就是指这个被包含的文件将会被插入到JSP文件中去,这个包含的文件可以是JSP文件,HTML文件,文本文件。如果包含的是JSP文件,这个包含的JSP的文件中代码将会被执行。
如果你仅仅只是用include 来包含一个静态文件。那么这个包含的文件所执行的结果将会插入到JSP文件中放<% @ include %>的地方。一旦包含文件被执行,那么主JSP文件的过程将会被恢复,继续执行下一行这个被包含文件可以是html文件,jsp文件,文本文件,或者只是一段Java代码,但是你得注意在这个包含文件中不能使用<html>,</html>,<body>,</body>标记,因为这将会影响在原JSP文件中同样的标记 ,这样做有时会导致错误.
例子 (include.jsp:)
<html> <head><title>An Include Test</title></head> <body bgcolor="white"> <font color="blue"> The current date and time are <%@ include file="date.jsp" %> </font> </body> </html>
date.jsp:
<%@ page import="java.util.*" %> <%= (new java.util.Date() ).toLocaleString() %>
Displays in the page:
The current date and time are
Aug 30, 1999 2:38:40
2.<jsp:include>
包含一个静态或动态文件:
<jsp:include page="{relativeURL | <%= expression%>}" flush="true" />
<jsp:include page="{relativeURL | <%= expression %>}" flush="true" >
<jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />
</jsp:include>
Examples
<jsp:include page="scripts/login.jsp" />
<jsp:include page="copyright.html" />
<jsp:include page="/index.html" />
<jsp:include page="scripts/login.jsp">
<jsp:param name="username" value="jsmith" />
</jsp:include>
<jsp:include>元素允许你包含动态文件和静态,这两种包含文件的结果是不同的。如果文件仅是静态文件,那么这种包含仅仅是把包含文件的内容加到jsp文件中去,而如果这个文件动态的,那么这个被包含文件也会被Jsp编译器执行
如果这个包含文件是动态的,那么你还可以用<jsp:param>传递参数名和参数值
属性:
page="{relativeURL | <%= expression %>}"参数为一相对路径,或者是代表相对路径的表达式.
总结:
<jsp:include page=...%>属于Action,请求时处理,对象:静态/动态
include编译指令是在JSP程序的转换时期(即JSP程序被翻译为JAVA程序的时期)就先将file属性所指定的程序内容嵌入,让它和主JSP程序结合为一个整体,然后才使用JAVA编译器编译转换所得的JAVA程序文件,并将其载入JSP引擎中,file属性所指定的文件不会被单独翻译和编译。
而<jsp:include>操作指令page属性所指定的文件在主JSP程序的转换时期是不会被编译的,它只在客户端请求时期如果被执行到才会被动态地编译载入,而page属性所指定的JSP程序会被单独转换编译为Servlet Class二进制代码。
//======date.jsp的源文件=====//
<%@ page language=”java” contentType="text/html;charset=gb2312"%>
<%
java.util.Date date=new java.util.Date();
String date_cn ="";
String dateStr = "";
switch(date.getDay())
{
case 0:date_cn ="日"; break;
case 1:date_cn ="一"; break;
case 2:date_cn ="二"; break;
case 3:date_cn ="三"; break;
case 4:date_cn ="四"; break;
case 5:date_cn ="五"; break;
case 6:date_cn ="六"; break;
}
dateStr = (1900+date.getYear()) + "年" + (date.getMonth()+1) + "月" + date.getDate() + "日(星期" + date_cn + ")";
%>
document.write("<%=dateStr%>");
//======以下是test.jsp的源文件=============//
<%@ page language=”java” contentType=”text/html;charset=gb2312”%>
<html>
<head>
<title>include的两种用法</title>
<jsp:include page=”date.jsp” flush=”true”/>
<%--@ include file=”date.jsp” %-->
//我们在这里用include的两种不同形式来引入date.jsp这个文件.
<head>
<body>
<table><tr><td>
有关jsp中include的两种用法.敬请关注。
</td></tr></table>
</body>
</html>
<%@ page language=”java” contentType=”text/html;charset=gb2312”%>
这句代码。解决的办法是把date.jsp文件中的这句删掉。刷新后再请求test.jsp页面。
<%@ page language=”java” contentType=”text/html;charset=gb2312”%>这行语句加入后刷新重新运行.
3.Page 指令:
例子:
<%@ page import="java.util.*, java.lang.*" %>
<%@ page buffer="5kb" autoFlush="false" %>
<%@ page errorPage="error.jsp" %>
<%@ page %>指令作用于整个JSP页面,同样包括静态的包含文件。但是<% @ page %>指令不能作用于动态的包含文件,比如 <jsp:include>
无论你把<% @ page %>指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性,以及好的编程习惯,最好还是把它放在JSP文件的顶部.
属性:
language="java"
声明脚本语言的种类,暂时只能用"java"
extends="package.class"
标明JSP编译时需要加入的Java Class的全名,但是得慎重的使用它,它会限制JSP的编译能力. import="{package.class | package.* }, ..."
需要导入的Java包的列表,这些包就作用于程序段,表达式,以及声明
session="true | false"
设定客户是否需要HTTP Session.(学过ASP的人,应该对它不陌生)如果它为true,那么Session是有用的。
如果它有false,那么你就不能使用session对象,以及定义了scope=session的<jsp:useBean>元素。这样的使用会导致错误.
缺省值是true.
buffer="none | 8kb | sizekb"
buffer的大小被out对象用于处理执行后的JSP对客户浏览器的输出。缺省值是8kb
autoFlush="true | false"
设置如果buffer溢出,是否需要强制输出,如果其值被定义为true(缺省值),输出正常,如果它被设置为false,如果这个buffer溢出,就会导致一个意外错误的发生.如果你把buffer设置为none,那么你就不能把autoFlush设置为false. isThreadSafe="true | false"
设置Jsp文件是否能多线程使用。缺省值是true,也就是说,JSP能够同时处理多个用户的请求,如果设置为false,一个jsp只能一次处理一个请求
info="text"
一个文本在执行JSP将会被逐字加入JSP中,你能够使用Servlet.getServletInfo方法取回。errorPage="relativeURL"
设置处理异常事件的JSP文件。
isErrorPage="true | false"
设置此页是否为出错页,如果被设置为true,你就能使用exception对象.
contentType="mimeType [ ;charset=characterSet ]" | "text/html;charset=ISO-8859-1"
设置MIME类型 。缺省MIME 类型是: text/html, 缺省字符集为 ISO-8859-1.
<c:import url="header.jsp"/>
- <c:import>行为和<jsp:include>相同;
- 另外它还可以从外部资源引入数据,比如不同的web应用程序;
- 执行时机:在请求处理阶段。
转载于:https://www.cnblogs.com/qiufeihai/p/3625048.html
jsp学习之包含——include相关推荐
- JSP学习之include指令
2019独角兽企业重金招聘Python工程师标准>>> 今天,看视频自学JSP的include指令,他主要有动态和静态两种包含方式,用于在一个JSP页面里包含其他jsp页面的内容. ...
- java jsp学习指南_JSP教程–最终指南
java jsp学习指南 编者注: JavaServer Pages(JSP)技术使您可以轻松创建同时包含静态和动态组件的Web内容. JSP技术提供了Java Servlet技术的所有动态功能,但提 ...
- 【学习笔记】JSP学习笔记(上)
我是灼灼,一只初学Java的大一金渐层. 向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄:追逐过王尔德.王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔:热爱文学的浪潮,白日梦到底却总在现实里清 ...
- Jsp学习笔记——第二天
Jsp学习打卡 Jsp学习笔记---第二天 Jsp笔记 第二天 一. 复习 二. 动作元素(包含,转发) 1. 包含动作 [重点] 2. 转发动作 [了解] 三. 隐含对象(内置对象) 1. 概念 2 ...
- 在一个JSP页面中包含另一个JSP页面的三种方式
转载自://http://blog.163.com/neu_lxb/blog/static/179417010201121343132918/ (1)include指令 include指令告诉容器:复 ...
- Servlet与JSP学习笔记(五) JSP核心(下)
同样可以参考菜鸟笔记. JSP标签 JSP除了包括以"<%"开头的JSP标记,还包括以"<jsp:"开头的JSP标签.实际上,前者的每种标记都有后者 ...
- JSP学习笔记(一):JSP语法和指令
一.语法 1.脚本程序的语法格式: 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. <% 代码片段 %> 2.中文编码问题 如果我们要在页面正常显 ...
- JSP中两种include的区别
jsp中有两种include,一种是<%@include file="xxx.jsp"%>,另一种是<jsp:include page="xxx.jsp ...
- 【Servlet】JSP学习-概念和运行原理
为什么需要JSP? 与HTML相比:根据后台的业务,可以动态输出HTML,网页内容是可以改变的. 与原生Servlet相比:不需要自己写输出语句resp.getWriter().write(" ...
最新文章
- java ee有哪些工具_JavaEE开发中最常用到的技术和工具汇总
- 程序员辞职卖卷饼:4天挣1个月工资!摆摊真那么赚钱?
- Redis 6.0 正式版终于发布了!除了多线程还有什么新功能?
- java abs在哪个包,Java StrictMath abs()方法
- c:\program files\microsoft visual studio\vc98\mfc\include\afxv_w32.h(14) : fatal error C1189:
- 力扣 有序数组的平方
- 简单mysql优化_MySQL简单优化
- java栈的底层实现_JVM 底层原理总结
- 批量修改文本文件编码GB18030为UTF-8
- Glib2之dbus用法(五)
- 【学习目录】天天生鲜项目页面设计
- 如何把几张图片合成一个pdf?
- VB.net,VB2005实现TCP协议编程
- 如何批量去除图片水印?批量去水印方法
- 迅雷可以下载的文件是forum.php,让论坛进化!“迅雷附件”功能简介
- Android 模拟器(window/Mac)
- SEPIC电源基本电路分析
- 如何通俗的理解函数的极限_函数的极限问题怎么解释更通俗易懂?初高中数学辅导...
- 疯狂java讲义(李刚)6.2
- C语言 输入矩形的长和宽 求矩形面积