博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSP的基本语法之include指令与<jsp:include>动作标识的区别
阅读量:7009 次
发布时间:2019-06-28

本文共 2562 字,大约阅读时间需要 8 分钟。

include指令和<jsp:include>动作标识都可以用来包含文件,比如要在JSP页面中显示大量的纯文本,可以将定些文本文字写入静态文件中(比如记事本),然后通过include指令或者动作标识包含到该JSP页面中,这样可以让JSP页面更简洁。

举一个简单例子用来包含网站的banner和版权信息栏。

我在51cto这截了三张图片。分别命名

banner.jpg

center.jpg

copyright.jpg


include指令的应用

(1)编写一个名称为top.jsp的文件,用来放置网站的banner信息

1
2
<%@ page pageEncoding=
"GB18030"
%>
<img src=
"images/banner.jpg"
>

(2)编写一个名称为copyright.jsp的文件,用于放置网站的版权信息

1
2
3
4
5
6
7
8
9
10
11
12
<%@ page pageEncoding=
"GB18030"
%>
<!DOCTYPE html PUBLIC 
"-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"
>
<%
String copyright=
""
;
%>
<!--&nbsp;All Copyright&copy;
2014 
校来校网有限公司-->
<table width=
"778"
height=
"61"
border=
"0"
cellpadding=
"0"
cellspacing=
"0"
background=
"images/copyright.jpg"
>
  
<tr>
                                                                                                                                                                                                                                                                                           
    
<td><%=copyright %></td>
  
</tr>
</table>

(3)编写一个名称为index.jsp的文件,在该页面中包括top.jsp和copyright.jsp文件,从而实现一个完整的界面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%@ page language=
"java" 
contentType=
"text/html; charset=GB18030"
    
pageEncoding=
"GB18030"
%>
<html>
<head>
<meta http-equiv=
"Content-Type" 
content=
"text/html; charset=GB18030"
>
<title>使用文件包含include指令</title>
</head>
<body style=
"margin:0px;"
>
<%@ include file=
"top.jsp" 
%>
<table width=
"778" 
height=
"279"
border=
"0"
cellpadding=
"0"
cellspacing=
"0"
background=
"images/center.jpg"
>
<tr>
<td>&nbsp;</td>
</tr>
</table>
<%@ include file=
"copyright.jsp"
%>
</body>
</html>

运行一下,可以看到显示界面

技巧:在应用include指令进行文件包含时,为了使整个页面的层次结构不发生冲突,建议在被包含页面中将<html><body>等标记删除


<jsp:include>动作标识的应用

只需将index.jsp代码修改一下即可.将include指令的<%@include file="xx.jsp"%>修改为动作标识的<jsp:include page="xx.jsp"/>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%@ page language=
"java" 
contentType=
"text/html; charset=GB18030"
    
pageEncoding=
"GB18030"
%>
<html>
<head>
<meta http-equiv=
"Content-Type" 
content=
"text/html; charset=GB18030"
>
<title>使用&lt;jsp:include&gt;动作标识</title>
</head>
<body style=
"margin:0px;"
>
<jsp:include page=
"top.jsp" 
/>
<table width=
"778" 
height=
"279"
border=
"0"
cellpadding=
"0"
cellspacing=
"0"
background=
"images/center.jpg"
>
<tr>
<td>&nbsp;</td>
</tr>
</table>
<jsp:include page=
"copyright.jsp"
/>
</body>
</html>

include指令与<jsp:include>动作标识的区别

(1)include指令通过file属性指定被包含的文件,并且file属性不支持任何表达式;<jsp:include>动作标识通过page属性指定被包含文件,支持JSP表达式

(2)使用include指令时,被包含文件内容原封不动地插入到包含页中,然后JSP编译器再将合成后的文件最终编译成一个java文件;使用<jsp:include>动作标识包含文件时,当该标识被执行时,程序会请求转发(不是请求重定向)到被包含的页面,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码。

(3)include指令包含文件时,由于被包含文件最终生成一个文件,所以在被包含文件、包含文件中不能有重名的变量或方法;而在应用动作标识包含文件时,由于是单独编译,所以被包含文件、包含文件中重名的变量和方法是不冲突的。

本文转自lixiyu 51CTO博客,原文链接:http://blog.51cto.com/lixiyu/1351258,如需转载请自行联系原作者

你可能感兴趣的文章
历年诺贝尔经济学奖
查看>>
SQL Server-聚焦深入理解死锁以及避免死锁建议(三十三)
查看>>
HTTP状态码详解
查看>>
24:打印月历
查看>>
PDF.NET数据开发框架实体类操作实例
查看>>
深度剖析Spark分布式执行原理
查看>>
使用vlc实现视频TS流的推送
查看>>
Android Fragment 真正的完全解析
查看>>
Node.js开发Web后台服务(转载)
查看>>
使用flow捕获js错误提高代码质量
查看>>
JAVA WebSocKet ( 简单的聊天室 )
查看>>
2017.04.18 Dobot-真正适合初学者的廉价机器人
查看>>
钱文忠解读百家姓
查看>>
postgresql shell发起select操作报错ERROR: relation "tablename" does not exist
查看>>
循环神经网络(Recurrent Neural Networks, RNN)介绍
查看>>
go语言中的strings常用函数和格式化输出
查看>>
!!!!Linux系统开发 系列 4 进程资源 环境 fork()子进程 wait() waitpid()僵尸 孤儿进程...
查看>>
[翻译]现代Linux系统上的栈溢出攻击【转】
查看>>
《TCP/IP具体解释》读书笔记(22章)-TCP的坚持定时器
查看>>
LINQ体验(8)——LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods
查看>>