jsp中include指令和jsp:include动作之间的区别

 时间:2024-11-03 03:48:02

实例,有a.jsp,水瑞侮瑜b.jsp,c.jsp三个jsp,a和b分别使用include指令和jsp:足毂忍珩include动作两种方式引入c:jsp中include指令和jsp:include动作之间的区别jsp中include指令和jsp:include动作之间的区别jsp中include指令和jsp:include动作之间的区别

(一),a.jsp使用include指令引入c.jsp,那么在浏览器中查看a的源代码,你会看到两段分开的html代码,格式是这样的:<html><body></body></html>

<html><body></body></html>,两段html代码是分开的。

jsp中include指令和jsp:include动作之间的区别

(二)、b.jsp使用jsp:include动作引入c.jsp,那么在浏览器中查看b的源代码,你会发现c.jsp页面中所有的内容均会被嵌入到b.jsp中,html格式是这样的:<html><body><html><body></body></html></body></html>,即c的代码会被加入到b中,两段html代码是嵌入的。jsp中include指令和jsp:include动作之间的区别

然后,我们去看a.jsp和b.jsp对应的servlet代码,路径在tomcat服务器的work/catalina路径下:

我们会发现,其实servlet的处理方式和以上所说的是一样的,(1)、a.java在_jspServer()方法中分别编译a.jsp和c.jsp,就是按顺序来编译a和c,处理完了一个再处理另一个,先处理谁那就看include语句在a.jsp中的位置,如果在头部就先处理c.jsp,如何在结尾就先处理a.jsp;a.java

jsp中include指令和jsp:include动作之间的区别

(2)、b.java在_jspServer()方法中先编译b.jsp前半部分,再编译整个c.jsp,最后编译b.jsp剩下的后半部分,并且编译c.jsp的代码是这样的:org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "c.jsp", out, false),一句话编译完c.jsp。b.javajsp中include指令和jsp:include动作之间的区别

最后,我个人发现两者的根本不同就是,使用include指令,在a.jsp中可以直接使用c.jsp中的变量date,比如在a中输出date的年份<%= date.getFullYear()>%,是可以的:

jsp中include指令和jsp:include动作之间的区别

jsp中include指令和jsp:include动作之间的区别

但是如何在b中这样写,输出date.getFullYear()就编译错误,提示date cannot be resolved:

jsp中include指令和jsp:include动作之间的区别

jsp中include指令和jsp:include动作之间的区别

一句话,两者的区别就是能否直接使用被引入文件中的变量。

  • 怎么在Word文档中添加图片
  • 我功夫特牛追踪弹怎么合成
  • 在墙壁贴图如何防止壁灰不会脱落
  • 创业过程中要思考的问题
  • qq农场幸运大转盘活动怎么玩
  • 热门搜索
    痛经了怎么办 破壁料理机食谱大全 李密简介 怎么关闭微博 支付宝怎么弄 恐怖小说大全 陈景润简介 星月菩提怎么盘玩 炖排骨的做法大全 神奇宝贝图鉴大全