静态包含和动态包含的区别
来源:互联网 发布:淘宝店铺动态评分 编辑:程序博客网 时间:2024/04/29 06:45
静态包含 vs 动态包含的区别?
1) 语法不同
静态包含语法: <%@inclue file="被包含的页面"%>
动态包含语法: <jsp:include page="被包含的页面">
2)参数传递不同
静态包含不能向被包含页面传递参数
动态包含可以使用jsp:param标签向被包含页面传递参数
3)原理不同
静态包含: 先合并再翻译
动态包含: 先翻译再合并
如下Demo代码案例注意:include指令静态包含,是直接把被包含的页面(head.jsp)的内容翻译到包含页面(action.jsp)中,合并翻译成一个java源文件,再编译运行,即先合并再翻译。但是,2个jsp页面中都有path和basePath两个变量了,jsp被翻译成jsp源文件后,属于变量重复定义。删除被包含页面中重复的jsp脚本问题即可解决。也可以运用jsp标签jsp:include动态包含来解决,动态包含是先翻译再合并,即使存在重复变量定义,也不影响。
Demo如下:
action.jsp如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>静态包含 vs 动态包含的区别</title>
</head>
<body>
<%-- 动态包含 ,page属性里面的值一定是一个文件的路径,不能用?在路径后面传参,但是能通过jsp:param标签传参--%>
<jsp:include page="/common/head2.jsp">
<jsp:param value="good" name="name"/>
</jsp:include>
<hr/>
<%-- 静态包含,不能用?在路径后面传参,file属性里面的值一定是一个文件的路径,传参会报错。 --%>
<%@include file="/common/head.jsp" %>
</body>
</html>
head.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>head.jsp</title>
</head>
<body>
这是一个通用的头部页面head<br/>
</body>
</html>
head2.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
这是一个通用的头部页面head<br/>
动态资源传参,获取到的参数值:<%= request.getParameter("name") %><br/>
</body>
</html>
效果:
0 0
- 静态包含和动态包含的区别
- 静态包含和动态包含的区别
- 静态包含和动态包含的区别
- JSP中的动态包含和静态包含的区别
- jsp静态包含和动态包含的区别
- JSP中的动态包含和静态包含的区别
- JSP中的动态包含和静态包含的区别
- JSP中静态包含和动态包含的区别?
- JSP静态包含和动态包含的区别
- jsp静态包含和动态包含的区别?
- jsp中静态包含和动态包含的区别
- jsp动态包含和静态包含的区别
- JSP中的动态包含和静态包含的区别
- JSP中的动态包含和静态包含的区别
- java动态包含和静态包含的区别 ?
- jsp静态包含和动态包含的区别
- 动态包含与静态包含的区别
- 静态包含与动态包含的区别
- 【Bzoj2243】染色
- easyui 生成 多级 菜单树 01
- 抛出异常的具体实现—附小例子
- 洛谷 2765_魔术球问题_网络流
- 支付宝、微信当面付开发流程
- 静态包含和动态包含的区别
- C++中的const的使用
- BZOJ 4771 七彩树
- idea快捷键设置修改
- 解读 CreateMutexWin32A
- MVC真谛
- 【数据结构_树_Tree_0971】统计利用先序遍历创建的二叉树的深度
- 实习 day2
- KMP算法c++实现