JSP的基本语法之include指令与<jsp:include>动作标识的区别

简介:

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

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

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

banner.jpg

wKiom1LTlSvBM4arAAFy9QvOwl4491.jpg

center.jpg

wKioL1LTlSHDxhuYAAHLYddwwis350.jpg

copyright.jpg

wKiom1LTlS6CquH8AACNlY8r1MU795.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>

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

技巧:在应用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,如需转载请自行联系原作者


相关文章
|
2月前
|
Java
JSP 教程 之 JSP 动作元素 10
`jsp:plugin`元素在JSP中用于基于浏览器类型插入OBJECT或EMBED标签以运行Java Applet或JavaBean。当插件缺失时,它会自动下载。属性如`codebase`, `code`, `width`, `height`用于配置组件,`jsp:param`传递参数。示例展示了一个包含错误处理fallback的applet使用案例。
31 4
|
1月前
|
前端开发 Java
杨老师课堂之jsp基础语法知识理论基础介绍
杨老师课堂之jsp基础语法知识理论基础介绍
10 0
|
2月前
|
XML Java 数据格式
JSP 教程 之 JSP 动作元素 12
JSP `&lt;jsp:text&gt;`动作元素用于插入纯文本或EL表达式,不支持XML非法符号。在XHTML中声明DOCTYPE时必需。例子显示了在`&lt;books&gt;&lt;book&gt;`中使用`&lt;jsp:text&gt;`包裹的文本。比较使用和不使用该动作元素的效果差异。
22 2
|
2月前
|
XML Java 数据格式
JSP 教程 之 JSP 动作元素 11
JSP 动作元素 `&lt;jsp:element&gt;`, `&lt;jsp:attribute&gt;`, `&lt;jsp:body&gt;` 用于动态生成XML。这些元素在编译时动态创建,不是静态的。示例展示了如何使用它们定义一个XML元素,包含属性和主体。在浏览器中查看结果。
26 2
|
2月前
|
Java
JSP 教程 之 JSP 动作元素 8
JSP `jsp:getProperty`动作用于从Bean获取属性值并以字符串形式输出。需指定Bean的`name`和要提取的`property`。给定一个名为`TestBean`的JavaBean示例,其中包含`message`属性。将编译后的`TestBean.class`放在正确目录下,JSP页面通过`jsp:getProperty`加载并显示Bean的`message`属性。访问`main.jsp`以查看结果。
32 2
|
2月前
|
Java
JSP 教程 之 JSP 动作元素 9
JSP教程介绍了jsp:forward动作元素,它用于将请求重定向至其他页面。该动作仅有一个属性:page,可指定相对URL,支持静态或动态计算,能指向JSP或Servlet。示例中,date.jsp显示当前日期,main.jsp使用jsp:forward将请求转发至date.jsp,当访问main.jsp时,会显示date.jsp的日期信息。
35 2
|
1月前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
|
1月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
|
1月前
|
缓存 小程序 前端开发
Java服务器端技术探秘:Servlet与JSP的核心原理
【6月更文挑战第23天】Java Web开发中的Servlet和JSP详解:Servlet是服务器端的Java小程序,处理HTTP请求并响应。生命周期含初始化、服务和销毁。创建Servlet示例代码展示了`doGet()`方法的覆盖。JSP则侧重视图,动态HTML生成,通过JSP脚本元素、声明和表达式嵌入Java代码。Servlet常作为控制器,JSP处理视图,遵循MVC模式。优化策略涉及缓存、分页和安全措施。这些技术是Java服务器端开发的基础。
|
1月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
【6月更文挑战第23天】Java Web开发中,Servlet和JSP是构建动态Web应用的基础。Servlet处理逻辑,JSP专注展示。示例展示了Servlet如何通过`request.setAttribute`传递数据给JSP渲染。JSP自定义标签提升页面功能,如创建`WelcomeTag`显示欢迎消息。Servlet过滤器,如`CacheControlFilter`,用于预处理数据或调整响应头。这些集成和扩展技术增强了应用效率、安全性和可维护性,是Java服务器端开发的关键。