JSP include 和 jsp:include 的区别以及使用include动作指令传递参数
在javaweb中有两个include指令
一个是编译指令<% @ include file=”fileName”%>,要知道JSP文件最终会被转换成Servlet执行,所以同一个jsp文件中可以使用多个include 编译指令,最终都会被转换成一个servelt执行。
要注意的是,被包含过后的文件最终会成为一个文件,所以在这几个文件中不能出现相同的变量名称,否则会出现报错。
另外一个是动作指令<jsp:include page="filePath" flush="true|false">
两者的区别,前者是静态包含,后者是动态包含。
先看<% @ include file=”filename” %>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ include file="hello.jsp" %>
</body>
</html>
部署后的源码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HelloWorld</title>
</head>
<body>
hello world
<br>
hello world</body>
</html>
</body>
</html>
在Tomcat部署后,在浏览器中查看源码,发现源码中是有两个文件组成的。在当前jsp文件代码中的body段中还有一个jsp文件的源码。这就说明,使用<%@ include file=”“filename%>是静态包含的。
看看使用<jsp:include page="pagePath">
既然使用了<jsp:include >
指令,就需要知道它是动态编译的。所以在使用这个指令包含其他文件之前,要确保这个页面里面的一些元素或者标签对和要包含的页面没有相同的元素,或者会出现错误。
被包含的正确文件:
<body>
<%="hello world" %>
</body>
正常的包含:
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<jsp:include page="hello.jsp" flush="true"></jsp:include>
</html>
仔细查看,可以发现,在使用<jsp:include >
的页面,我删除了body标签对。如果不删除,则会出现以下报错。
下面说一下使用<jsp:include >
传递参数
在刚刚的jspinclude页面中,添加以下代码:
<jsp:include page="hello.jsp" flush="true">
<jsp:param name="bgcolor" value="green"></jsp:param>
</jsp:include>
要注意将<jsp:param>
包含在<jsp:include>
标签对中
在本包含的页面中,使用request获取参数值。
<%=request.getParameter("bgcolor") %>
目前本人的理解有限,有什么错误,请各位大神指出。
JSP include 和 jsp:include 的区别以及使用include动作指令传递参数相关推荐
- JSP基本语法、3个编译指令、7个动作指令、9个内置对象
一.jsp概述 JSP是java server page的缩写,其本质是一个简化的servlet,是一种动态网页技术标准.jsp页面是在HTML页面中嵌入java程序段,使用jsp开发的应用程序可以跨 ...
- @include与jsp:include的区别
1.可以使用一个JSP指令或者一个标准行为,在JSP页面中引入其他的页面片段. 2. include指令:在翻译阶段(将JSP页面转换成servlet的阶段),JSP的include指令会读入指定的页 ...
- include与jsp:include区别【转载】
我们都知道在jsp中include有两种形式,分别是 <%@ include file=" "%> <jsp:include page=" " ...
- %@include%和jsp:include的区别
2019独角兽企业重金招聘Python工程师标准>>> <%@include%>:页面请求之前预编译,所有代码包含进来之后,一起进行处理,把所有代码合在一起,编译成一个s ...
- JSP的getRequestDispatcher()与sendRedirect()的区别
getRequestDispatcher()与sendRedirect()的区别 1.request.getRequestDispatcher()是请求转发,前后页面共享一个request ; re ...
- jsp中四个作用域的区别
jsp中四个作用域的区别 JSP内置对象作用域表 名称 作用域 application 在所有应用程序中有效 session 在当前会话中有效 request 在当前请求中有效 page 在当前页面有 ...
- jsp注释和html注释的区别,JSP注释和HTML注释的区别
JSP注释和HTML注释的区别: HTML注释是可以发送到客户端且在客户端可见的注释:JSP注释只存在于服务器端在客户端不可见的注释.JSP引擎对HTML注释不做任何解释直接发送到客户端,所以在客户端 ...
- jsp注释和html注释的区别,JSP注释和HTML注释的区别.doc
JSP注释和HTML注释的区别 JSP注释和HTML注释的区别: HTML注释是可以发送到客户端且在客户端可见的注释:JSP注释只存在于服务器端在客户端不可见的注释.JSP引擎对HTML注释不做任何解 ...
- jsp注释与html注释区别,jsp注释和html注释的区别
jsp注释和html注释的区别 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 8.90 积分 JSP 注释和 HTML 注释的区别: HTML 注释 ...
最新文章
- Linux系统资源管理 之 硬件信息
- 了解spring大家族
- linux上的定时器上的jiffies,Linux kernel -- 定时器/jiffies
- 提高github访问速度(深入研究底层网络通信、域名解析等原理)
- ren命令linux,Linux mren命令
- Python 分析Nginx 日志并存入MySQL数据库(单线程)
- ARM 汇编指令 MRS用法
- 运行metamascara时出现的一些错误
- Oracle--替代触发器(INSTEAD OF)
- scrollbars属性,MultiLine 属性
- 安装不成功问题解决办法
- 软件测试员如何进行产品测试?
- LT培训Hadoop
- 高通QCS603/QCS605物联网系统芯片介绍,QCS603/QCS605处理器参数比较
- oracle stdevp函数,plsql和tsql常用函数比对
- 电脑通过热点共享网络,手机连接热点可以访问其他内网
- VLDB2017论文阅读-Cohort Query Processing
- python读取csv文件‘gbk‘ codec can‘t decode byte 0xbf in position 2: illegal multibyte sequence
- 事件10001,10016,10037
- c basic library framework - simplec 2.0.0