`
cxshun
  • 浏览: 720578 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jsp:include和@include学习

阅读更多

一直以来做项目都是用@include,很少去用到JSP:include,最近一段时间重新学习了一些JSP相关的知识,包括过滤器等等,认识到了自己的许多不足,在这里记录下。

1、JSP:include,它有一个属性为page,这里的page可以是相对路径,也可以是绝对路径(是相对于当前项目的路径,也即是它会自动帮你在当前项目中去找)。比如我现在的项目是JSPTest,我在page里面写了/page/index.jsp,这里JAVA应用服务器就会到JSPTest项目下去查找page/index.jsp,这是相对于本项目的。

JavaEye上一位朋友说了:(在这里可以看到http://www.iteye.com/problems/34149,感谢那位朋友,也让自己明白了)

  只要搞清楚“/”代表的是什么就行了: 
  (1).在form,js,css,sendRedirect里边,代表的是http://127.0.0.1/; 
  (2).在web.xml中的url-pattern,forword代表的是   http://127.0.0.1/myweb。myweb是项目名

       研究了一下TOMCAT编译生成的代码(这里我用的是TOMCAT,主要是快嘛),发现当我们用JSP:include标签的时候,它会生成代码

org.apache.jasper.runtime.JspRuntimeLibrary.include(request,response, path , out, true);

这里它会作为一个参数传入方法中,这决定了我们并不能在page里面进行相应的代码编写,比如:

<jsp:include page="<%request.getContextPath%>/page/index.jsp"/>

这样的代码是会报错的,我们可以换一种方法:

 <%  String pagePath = request.getContextpath+"/page/index.jsp";%>
<jsp:include page="<%=pagePath%>"/>

这样就可以正确编译并运行。

2、另外一个包含的标签是<%@include%>这个它需要通过file属性来指定包含的文件,由于它是页面标签(通过%来指定的),这样就决定了我们不可以在里面另外通过〈%%〉来指定另外的变量,只可以直接指定页面名。这里也可以通过相对路径和绝对路径来指定。它和上面的jsp:include一样,当用绝对路径进行指定时,它都是相对于当前项目的。这两个标签最大的区别是它们加入页面的方式。当用@include时,所包含的页面会被直接加入到本页面进行编译,而用jsp:include时并不是这样,而只是单单包含已经编译完的页面代码,这个就可以较快地识别已经改变的内容,而用@include由于是包含了全部内容,所以有时的改变并不能立即反映出来。

 

        J2EE果然博大精深,还是要好好学习的。

分享到:
评论
1 楼 zhongyangjian 2011-09-19  
我也是今天才明白,页面太大,报错,拆分,用了才明白。不过还是太大了。唉,要挨骂了

相关推荐

    JSP:include和include指令区别

    JSP:include和include指令区别,对应我的博客 blog.csdn.net/svitter

    jsp:include与include实探

    NULL 博文链接:https://dreamzhong.iteye.com/blog/1127436

    jsp基础测试 期末考试

    考虑下面JSP文件代码片断: &lt;jsp:include page=”test2.jsp”&gt; &lt;jsp:param name=”username” value=”accp”/&gt; &lt;/jsp:include&gt; 以下( )代码片断放置在test2.jsp中不会导致错误。

    用jsp:include控制动态内容的方法.docx

    用jsp:include控制动态内容的方法.docx

    JSP中include指令和include行为的区别

    通常当应用程序中所有的页面的某些部分(例如标题、页脚和导航栏)都相同的时候,我们就可以考虑用include。具体在哪些时候用&lt; %@ include file=” ”%&gt;,哪些时候用&lt; jsp:include page=” ” flush=...

    使用jsp:include控制动态内容的方法

    本文实例讲述了使用jsp:include控制动态内容的方法。分享给大家供大家参考,具体如下: 清单 1. JSP include 伪指令 &lt;![CDATA[ &lt;&#37;@ page language=java contentType=text/html %&gt; &lt;html&gt; &lt;head&...

    Java Web 实验四 掌握<jsp:include>动作的使用

    问题描述: 网上购物系统,商品包括mp3和mp4两项...中使用jsp:include动作包括了选购商品信息item.jsp文件。 实现步骤: 1.创建 index.jsp文件; 2.创建order.jsp文件; 3.创建item.jsp文件; 4.运行结果并完成实验报告。

    JavaWeb开发技术-JSP动作元素.pptx

    在JSP页面和文档中使用写入文本的模板 在JSP页面中,为了把其他资源的输出内容插入到当前JSP页面的输出内容中,JSP技术提供了&lt;jsp:include&gt;动作元素。其语法格式为: &lt;jsp:include page="relativeURL" flush="true|...

    springMVC使用jsp:include嵌入页面的两种方法(推荐)

    下面小编就为大家带来一篇springMVC使用jsp:include嵌入页面的两种方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    前端分页jsp实现(二)

    采用jsp开发的前端分页,抽取成一个公共的jsp,在需要的界面采用 &lt;jsp:include&gt;引入就行,白色按钮,黑色选中样式 &lt;div style="display: block;height: 200px;"&gt; &lt;jsp:include page="pagination.jsp" flush="true"&gt;...

    JSP下动态INCLUDE与静态INCLUDE的区别分析

     用jsp:include动作实现 &lt;jsp include page=”included.jsp” flush&gt;它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE   用include伪码实现,定不会检查所含文件的变化,...

    两中包含的区别.txt

    1.&lt;%@include file="head.jsp" %&gt; 2.&lt;jsp:include page="head.jsp" /&gt; 或者: &lt;jsp:include page="jieshou.jsp"&gt; &lt;jsp:param name="canshu" value="magci" /&gt; &lt;/jsp:include&gt; 两者的区别: 1.&lt;%@include ...

    jsp的Include方式

    jsp的Include方式

    jsp的include的两种用法

    jsp的include的两种用法 jsp的include的两种用法

    jsp页面错误信息

    &lt;tr&gt;&lt;td colspan="2"&gt;&lt;jsp:include page="view/AdminTop.jsp" /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;td width="180" valign="top"&gt;&lt;jsp:include page="view/AdminLeft.jsp"/&gt; ...

    Java.Servlet和JSP教程

    4、在JSP如何包含一个静态文件? 静态包含如下:&lt;%@ include file="copyright.html" %&gt; 动态包含如下:&lt;jsp:include page="copyright.html" flush="true"/&gt;

    第4章 JSP服务器对象

    JSP编译指令是给JSP引擎提供编译器指令信息的,它们的作用是设置JSP程序和由该JSP程序编译所生成的Servlet程序的属性。 语法格式: &lt;%@ 指令 指令的属性= "属性值" %&gt; 例如: &lt;%@ directive attribule= "value" %&gt;...

    jsp动态网页学习

    jsp指令标签(page,taglib,include)、动态标签(jsp:include,jsp:forward,jsp:param,jsp:useBean,jsp:setProperty,jsp:getProperty),案例demo

    2.4 include指令 JSP+AJAX

    2.4 include指令 JSP+AJAX2.4 include指令 JSP+AJAX2.4 include指令 JSP+AJAX2.4 include指令 JSP+AJAX

Global site tag (gtag.js) - Google Analytics