JSP静态导入与动态导入

JSP静态导入(JSP指令标记include)

        JSP页面第一次被请求时,会被JSP引擎转译成Servlet的Java文件,然后再被编译成字节码文件执行。JSP指令标记为JSP页面转译提供整个页面的相关信息。

        include指令用于在JSP页面静态插入一个文件,被插入的文件可以是JSP页面、HTML页面、文本文件或一段Java代码。使用了include指令的JSP页面在转换成Java文件时,将被插入的文件在当前JSP页面出来该指令的位置做整体的插入,合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,必须保证插入文件后形成的新的JSP页面符合JSP语法和逻辑规则。include指令的使用格式为:

<%@ include file="文件的URL" %>

       插入文件可以使用绝对路径和相对路径,一般要使用相对路径。相对路径是相对于当前页面所在目录的路径,例如,当前网页所在目录是Web服务根目录,被插入的文件在根目录下的text文件中,文件名为head.txt,相对路径的使用格式如下:

<%@ include file="text/head.txt" %>

       当被插入的文件被修改后,JSP引擎会重新将当前的JSP页面和修改后的被嵌入的文件合并成一个新的JSP页面,然后转译、编译成新的Java字节文件供客户访问。

      使用include指令可以实现代码的复用,提高代码的使用效率。例如,页面一般都需要一个标题栏、导航栏、页脚等,用户可以将标题栏等写成单独的文件,每个JSP页面都可以在适当的位置用include指令插入标题栏、导航栏、页脚等文件,这样就极大地提高了代码的复用和效率,使代码更便于修改。

      值得注意的是,被插入的文件是文本文件时需注意在文件的开始部分指明文件的相关信息,这样方便JSP页面和被嵌入的文件合并生成一个新的JSP页面不至于出现乱码等问题。例如(head.txt):

<%@ page contentType="text/html;charset=GB2312"%>
<h1> ..头部信息..</h1>
<div> ... </div>

 

 

JSP动态导入(jsp:include动作标记)

     include动作标记用来在JSP页面中动态包含一个文件,如果被包含的页面是JSP页面,则先处理之后再将结果包含,而如果包含的是非*.jsp文件,则只是把文件内容静态包含进来。包含页面程序与被包含页面程序是彼此独立的,互补影响。jsp:include标记的一般使用格式为:

<jsp:include page="文件的URL" />
或
<jsp:include page="文件的URL"><jsp:param 子标记/>
</jsp:include>

 

 

 

JSP动态导入与静态导入的区别:

       1、处理时间和方式不同:include指令标记插入的文件在页面转译时就合并到一起了,被包含文件与当前页面组合而成的新页面必须符合JSP的语法和逻辑规则,由于是提前合并编译,所以执行速度快;而jsp:include动作标记是被包含文件语法和逻辑独立于当前页面,单独被JSP引擎编译,当前页面执行时再将被包含文件的运行结果传送给客户端,由于是执行页面时处理包含文件,所以执行速度慢,但可以利用param子标记传递参数,使用更灵活。

        2、适用情况不同:静态导入适合导入不会经常变化的资源例如html文件,而动态导入适合一个时常变化的资源例如JSP文件。

 

个人博客:学习园

原文地址:http://www.xuexiyuan.cn/article/detail/193.html

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于DJANGO和JAVASCRIPT的时间

最近&#xff0c;实际一些简单统计时&#xff0c;要到库里去检索数据出来用HIGHCHARTS画图&#xff0c; 作一个简单的回照。。 DJANGO用TEMPLATEVIEW来作。专业&#xff0c;正规&#xff1a;&#xff09; class SAView(TemplateView):template_name version/sa_site.htmlpagin…

git里面的文件怎么删不掉_.git目录删不掉

这样的情况并非是第一次遇到了&#xff0c;以前总是会觉得这样的问题只是电脑的错乱&#xff0c;重启一下电脑就好了&#xff0c;但是并非每次都需要重启电脑的&#xff0c;其实简单的设置一下&#xff0c;这个问题就可以解决了。对了&#xff0c;咱们还是说说这到底是个什么问…

集成框架比较– Spring集成,Mule ESB或Apache Camel

公司之间的数据交换增加了很多。 必须集成的应用程序数量也增加了。 这些接口使用不同的技术&#xff0c;协议和数据格式。 但是&#xff0c;这些应用程序的集成应以标准化的方式建模&#xff0c;有效实现并由自动测试支持 。 JVM环境中提供了三个可满足这些要求的集成框架&…

Vue.js组件学习

组件可以扩展HTML元素&#xff0c;封装可重用的HTML代码&#xff0c;我们可以将组件看作自定义的HTML元素。组件系统提供了一种抽象&#xff0c;让我们可以使用独立可复用的小组件来构建大型应用。 一个简单组件例子(全局注册&#xff09; <!DOCTYPE html> <html>&…

Winform MD5

1&#xff1a;MD5 http://www.cmd5.com/ 字节数组----字符串 //将字节数组中每个元素按照指定的编码格式解析成字符串//直接将数组ToString()//将字节数组中的每个元素ToString() //ToString("Params") ToString("x") //可以将十进制字符串转换为16进制字符…

HTML元素显示与隐藏

在WEB开发中&#xff0c;前台HTML中经常需要控制元素的隐藏与显示&#xff0c;我们最为最常见是二级导航栏&#xff08;通过鼠标的移动来触发onmouseover&#xff0c;onmouseout事件来实现二级菜单的显示与隐藏&#xff09;二级菜单的显示与隐藏。 然而控制元素的影响与显示有…

书评:JavaFX 2.0:示例介绍

尽管Oracle在JavaOne 2010和JavaOne 2011上对JavaFX的更改使我从怀疑论者转变为对JavaFX的信奉者 &#xff0c;但是JavaFX愿景的转变并非没有缺点 。 特别是&#xff0c;JavaFX图书市场一直很棘手&#xff0c;因为几乎所有可用的JavaFX图书都与1.x版本有关。 在这篇文章中&…

脑子越来越不好使,文字越来越像驮shi

没办法&#xff0c;还是记下来。。。转载于:https://www.cnblogs.com/thorlet/p/5926595.html

python机制_python异常机制个人理解(参考网上资料)

当你的程序中出现异常情况时就需要异常处理。比如当你打开一个不存在的文件时。当你的程序中有一些无效的语句时&#xff0c;Python会提示你有错误存在。下面是一个拼写错误的例子&#xff0c;print写成了Print。Python是大小写敏感的&#xff0c;因此Python将引发一个错误&…

NYOJ 24 素数距离问题

素数距离问题 时间限制&#xff1a;3000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;2描述 现在给出你一些数&#xff0c;要求你写出一个程序&#xff0c;输出这些整数相邻最近的素数&#xff0c;并输出其相距长度。如果左右有等距离长度素数&#xff0c;则输出左侧的…

C#控件大小随窗体大小等比例变化

相信很多博友在开发初次接触学习C# winForm时&#xff0c;当窗体大小变化时&#xff0c;窗体内的控件并没有随着窗体的变化而变化&#xff0c;最近因为一个项目工程的原因&#xff0c;也需要解决这个问题。通过查阅和学习&#xff0c;这个问题得到了解决&#xff0c;或许不是很…

Google Appengine登台服务器操作方法

Google的App Engine开箱即用&#xff0c;支持版本化部署。 您可以非常轻松地在各修订版之间来回切换&#xff0c;这是在上线之前正确测试应用程序的一项很棒的功能。 有一个主要问题&#xff1a;应用程序的所有版本共享同一数据存储。 因此&#xff0c;如果要迁移数据&#xff…

下 面 这 条 语 句 一 共 创 建 了 多 少 个 对 象 : String s=a+b+c+d;

javac 编译可以对字符串常量直接相加的表达式进行优化&#xff0c; 不必要等到运行期去进行加法运算处理&#xff0c; 而是在编译时去掉其中的加号&#xff0c; 直接将其编译成一个这些常量相连的结果。题目中的第一行代码被编译器在编译时优化后&#xff0c; 相当于直接定义了…

公共样式_设计干货 | 园路铺装的100种样式,保存收好

Part 1园路的形式主干道&#xff1a;联系全园&#xff0c;必须考虑通行、生产、救护、消防、游览的需要。次干道&#xff1a;沟通各景点、建筑&#xff0c;通轻型车辆。休闲小径、健康步道&#xff1a;健康步道是近年来最为流行的足底按摩健身方式。通过行走卵石路上按摩足底穴…

22个所见即所得在线 Web 编辑器

新闻来源:sixrevisions.com我们曾介绍过 10 个基于 JavaScript 的 WYSIWYG&#xff08;所见即所得&#xff09; 编辑器&#xff0c;这些 Web 编辑器可以在线编辑和处理富 Web 内容&#xff0c;包括格式文本&#xff0c;表格&#xff0c;图片&#xff0c;媒体&#xff0c;链接等…

配置阿里云作为yum 源

第一步&#xff1a;下载aliyum 的yum源配置文件。 http://mirrors.aliyun.com/repo/ 第二步&#xff1a;把下载到的repo文件复制到/etc/yum.repo.d/目录下。 ----------------------------------------------------下面是本地yum源的一个例子 [base_extra]namebase & extra…

Spring 3,Spring Web Services 2和LDAP安全

今年的开局很好&#xff0c;其中另一个“截止日期不会改变” /“跳过所有繁文tape节” / “狂野西部”类型的项目中&#xff0c;我必须弄清楚并使用相对而言实现一些功能。新的库和技术需要进行更改&#xff0c;Spring 3并不是新增功能&#xff0c;但是在Java 5&#xff0c;web…

vue 日期选择器默认时间_vue-datepicker

vue-datepicker基于 Vue 的日期/时间选择组件。安装NodeJS 环境 (commonjs)npm i hyjiacan/vue-datepicker或者yarn add hyjiacan/vue-datepicker可以通过以下方式获取最新的代码git clone https://github.com/hyjiacan/vue-datepicker.git源码仓库浏览器环境 (umd)Since 2.4.0…

easyUI validate函数【总结篇-部分转】

以下是自己总结和修改别人的帖子和资源整理出来的一些常用验证函数&#xff0c;备用&#xff0c;交流。 <body>邮箱验证&#xff1a;<input type"text" validtype"email" required"true" missingMessage"不能为空" invalidMe…

CSDN挑战编程——《金色十月线上编程比赛第一题:小女孩数数》

金色十月线上编程比赛第一题&#xff1a;小女孩数数 题目详情: 【金色十月线上编程比赛规则】 一个小女孩正在用左手手指数数&#xff0c;从1数到n。她从拇指算作1开始数起&#xff0c;然后&#xff0c;食指为2&#xff0c;中指为3&#xff0c;无名指为4&#xff0c;小指为5。…