包含页面 include 两种方式的区别
动态加载页面
<jsp:include page="/home/common/top.jsp" flush="true"/>
以这种方式包含页面是在显示的时候动态加载top页面。
在容器的work目录下可以找到编译后的对应Java文件。里面的内容为
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "/home/common/top.jsp", out, true);
静态加载页面
<%@ include file="/home/common/top.jsp"%>
以这种方式包含页面是在编译的时候变异成一个Java文件。
在容器的work目录下可以找到编译后的对应Java文件。里面的内容为
out.write("\r\n");
out.write("<table class=\"headTableContainer\" cellpadding=\"0\" cellspacing=\"0\">\r\n");
out.write("\t<tr height=\"40\">\r\n");
out.write("\t\t<td class=\"logoCell\">\r\n");
out.write("\t\t</td>\r\n");
out.write("\t\t<td class=\"userToolCell\" align=\"right\" valign=\"bottom\">\r\n");
out.write("\t\t\t<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"headerTable\">\r\n");
out.write("\t\t\t\t<tr>\r\n");//............................top页面的代码
所以,使用静态加载的时候,可以使用被包含页面中<%%>代码中的变量。例如
<% String name="Michael"; %>
可以在主页面里面直接使用<%=name%> 可以直接输出 Michael
但是使用动态加载的时候 如果使用<%=name%>会直接报告编译错误。
动态页面和静态页面各有个的好处,动态加载不用担心命名重复的问题,静态加载可以直接读取被包含页的值。 所以适当的时候使用不同的加载方式,看个人的需求自己定夺。
分享到:
相关推荐
JSP中有两种包含语句: 1.<%@include file="head.jsp" %> 2.<jsp:include page="head.jsp" /> 或者: <jsp:include page="jieshou.jsp"> </jsp:include> 两者的区别: 1.<%@include file="uri"%> a.静态的...
JSP中,有两种包含其它文件的方式,一种是静态包含,一种是动态包含。本文介绍其中的静态包含。 所谓静态包含,跟ASP中的包含是一样的效果,即将所有包含的文件,先静态的包含进来,组成一个大的JSP文件,然后再经过...
这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用require()。include() 就不是这样,脚本会继续运行。同时...
@include file=”被包含页面”%>和动态包含:”被包含页面”flush>。下面以一个例子来说明如何使用包含。 实例: 项目文件树: header.jsp文件中内容: <html> <head> <meta ...
2.在页面中加入防护,有两种做法,根据情况二选一即可: a).在所需要防护的页面加入代码 require_once('waf.php'); 就可以做到页面防注入、跨站 如果想整站防注,就在网站的一个公用文件中,如数据库链接文件config...
原创开发的最简单的asp计数器,使用txt文件作为存储数据的载体,并可以设定文字或图片两种方式。 使用方法: counterLenth=8 '设置显示数据的最小长度,如果小于实际长度则以实际长度为准 displayMode=1 '设置显示...
小程序开发语言虽然只能运行在微信小程序中, 但是它的设计同样遵循了主流前端框架的主要特征——组件化,在小程序中组件化的实现有两种方式: template 模版 和 Component 组件。 这两种方式分别适用于不同的场景。 ...
最近公司在做一个项目,其中一块头部的菜单导航区,要求实现进入相关页面后上面的导航菜单图片也需变换.而这个对于静态页面或者用框架...我想到的解决方法有两种: 1.利用cookies或session,在每个页面加载时写一个c
JSP系列教材 (四)- include包含其他页面的两种方式,以及其区别 JSP系列教材 (五)- 服务端跳转和客户端跳转 JSP系列教材 (六)- 中演示 cookie 的创建和访问 JSP系列教材 (七)- session 详解 JSP系列教材 ...
2.在页面中加入防护,有两种做法,根据情况二选一即可: a).在所需要防护的页面加入代码 require_once('waf.php'); 就可以做到页面防注入、跨站 如果想整站防注,就在网站的一个公用文件中,如数据库链接文件config...
2.在页面中加入防护,有两种做法,根据情况二选一即可: a).在所需要防护的页面加入代码 require_once('waf.php'); 就可以做到页面防注入、跨站 如果想整站防注,就在网站的一个公用文件中,如数据库链接文件config...
这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行。 ...
注: Js里应用非常简单,有三种方式:直接加载json文件、通过url方式获取json格式数据、直接通过set方法设置参数值。这方面不再多说,下面主要说明java方面的应用,并针对struts2,至于servlet及struts1用法基本类似...
237、触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。 56 238、EJB容器提供的服务 56 239、EJB的角色和三个对象 56 240、EJB的几种类型 56 241、bean 实例的生命周期 56 242、...
// 一个包含两个元素的数组 $a[0] = "first"; $a[1] = "second"; $a[] = "third"; // 添加数组元素的简单方法 // 现在$a[2]被赋值为"third" echo count($a); // 打印出3,因为该是...
237、触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。 56 238、EJB容器提供的服务 56 239、EJB的角色和三个对象 56 240、EJB的几种类型 56 241、bean 实例的生命周期 56 242、...
2.在页面中加入防护,有两种做法,根据情况二选一即可: a).在所需要防护的页面加入代码 require_once('360_safe3.php'); 就可以做到页面防注入、跨站 如果想整站防注,就在网站的一个公用文件中,如数据库链接文件...
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件...
03 文件归档与两种压缩方式 04 vim编辑器 05 系统启动流程 06 grub加密 07 bios加密 08 top命令 09 free命令 10 进程管理 第6章 01 上节课复习 02 磁盘分区 03 文件系统与挂载 04 挂载信息讲解 05 磁盘用满的两种...
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件的...