包含页面 include 两种方式的区别

包含页面 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%>会直接报告编译错误。

动态页面和静态页面各有个的好处,动态加载不用担心命名重复的问题,静态加载可以直接读取被包含页的值。 所以适当的时候使用不同的加载方式,看个人的需求自己定夺。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值