JSP include 和< jsp:include >的区别以及使用include动作指令传递参数
来源:互联网 发布:v2ex 源码下载 编辑:程序博客网 时间:2024/05/17 07:42
在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]JSP中include指令和include动作的区别
- [JSP]JSP中include指令和include动作的区别
- [JSP]JSP中include指令和include动作的区别
- JSP include编译指令和include动作指令的区别
- jsp的include指令和include动作
- JSP 的include指令和include动作以及<c:import>
- JSP中include指令和include动作的区别
- jsp:include动作和include指令的区别
- JSP中的include指令和include动作的区别
- JSP中include指令和include动作的区别
- JSP中include指令和include动作的区别
- JSP中include指令和include动作的区别
- JSP中include指令和include动作的区别
- JSP中include指令和include动作的区别
- JSP中include指令和include动作的区别
- JSP中include指令和动作标识include的区别
- JSP中include指令和include动作的区别
- IntelliJIDEA软件注册破解工具,Jetbrains旗下IntelliJIDEA、WebStorm、PhpStorm均可激活
- hdu1595—find the longest of the shortest(dijkstra+枚举)
- redis 手写笔记
- 作为一个程序员应该看的书籍
- CentOS7编译安装Nginx
- JSP include 和< jsp:include >的区别以及使用include动作指令传递参数
- 编程第二十八、二十九天
- Swift
- wp模板里面的各种判断
- STS上使用spring data jpa对数据库单表进行增删改查
- dubbo控制中心部署,权重配置,以及管控台中各个配置的简单查看
- 编程第三十、三十一天
- 台湾大学林轩田机器学习基石课程学习笔记14 -- Regularization
- (109)宏