`
cxshun
  • 浏览: 724552 次
  • 性别: 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实探

    在Java Web开发中,`jsp:include`和`&lt;jsp:include&gt;`标签是两种常见的页面包含机制,它们用于将一个或多个动态或者静态资源合并到一个JSP页面中。这两种方式虽然看似相似,但有着本质的区别,理解它们的用法和区别...

    JSP:include和include指令区别

    在JavaServer Pages (JSP) 技术中,`&lt;jsp:include&gt;` 和 `&lt;%@ include %&gt;` 是两个用于页面组合的指令,它们虽然都用于将一个或多个文件的内容插入到主页面中,但它们的工作机制和使用场景有所不同。理解这两者的区别...

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

    在实际开发中,合理地利用`&lt;jsp:include&gt;`和`&lt;%@include file="..."%&gt;`可以帮助优化代码结构和提高代码的可维护性。静态内容(如页眉、页脚、样式表和脚本)通常适合使用`&lt;%@include file="..."%&gt;`,因为它们不需要...

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

    在Java Web开发中,`&lt;jsp:include&gt;`动作是一个非常重要的元素,用于动态地将一个页面包含到另一个页面中。这个动作使得开发者可以实现页面的重用和模块化设计,提高代码的可维护性。本实验的目标是让学生掌握`&lt;jsp:...

    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的两种用法

    JSP 中的 Include 有两种用法,分别是 `&lt;%@ include file=” ”%&gt;` 和 `&lt;jsp:include page=” ” flush=”true”/&gt;`。这两种用法都可以用于引入其他 JSP 文件,但是它们之间存在着一些关键的区别。 首先,让我们...

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

    总结来说,Spring MVC中的`jsp:include`提供了静态和动态两种方式来嵌入子页面。静态嵌入适合不需动态变化的内容,而动态嵌入则适用于需要根据用户行为或系统状态变化的场景。理解这两种方法的区别和应用场景对于...

    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&...

    jsp中两种包含关系(include动作和include指令)的区别

    在JavaServer Pages (JSP) 技术中,存在两种包含关系:`&lt;jsp:include&gt;` 动作和 `jsp:include` 指令。它们都是用来将一个页面的内容插入到另一个页面中的,但它们的工作方式和适用场景有所不同。 **1. `&lt;jsp:include...

    jsp的Include方式

    在JSP中,`Include` 方式是实现页面组合的重要技术,它允许我们把多个页面的内容合并到一个主页面中,从而实现代码复用和页面布局的灵活管理。本文将深入探讨JSP的`Include` 方式的概念、类型以及使用方法。 1. **...

    Java Web应用开发 14 课堂案例-使用include动作.docx

    通过这个案例,学习者可以深入理解`jsp:include`动作的用法和优势,以及如何在实际项目中利用它来实现页面内容的动态组合和复用。同时,通过对比`jsp:include`动作和`include`指令,能够更全面地掌握JSP中包含其他...

    jsp_include_demo.rar_DEMO

    本教程将深入讲解`&lt;jsp:include&gt;`标签的使用和示例。 1. **标签结构与基本用法** `&lt;jsp:include&gt;`标签通常包含两个主要属性:`page`和`flush`。 - `page`:这是必需的属性,用于指定要包含的资源路径,可以是相对...

    jsp中include指令静态导入和动态导入的区别详解.docx

    JSP 中 Include 指令静态导入和动态导入的区别详解 JSP 中的 Include 指令可以实现静态导入和动态导入两种方式。静态导入和动态导入是 JSP 中 Include 指令的两种不同的实现方式,它们之间有着明显的区别。 静态...

    include 两种用法的区别

    在JSP中有两种不同的`include`用法:`&lt;%@ include file="..." %&gt;` 和 `&lt;jsp:include page="..." flush="true"/&gt;`。这两种方式虽然都可以达到将一个页面包含进另一个页面的效果,但它们在执行时间和引入内容方面存在...

    jsp include文件时的一个乱码解决方法.docx

    在 JSP 中,include 文件可以使用两种方式来包含,即 `@include` 方式和 `jsp:include` 方式。其中,`@include` 方式可以使得包含页面和被包含页面在编译时被编译成一个文件,从而使得变量可以相互通用。但是,这种...

    十三、JSP动作

    JSP动作包括: jsp:include:在页面被请求的时候引入一个文件。 jsp:useBean:寻找或者实例化一个JavaBean。 jsp:setProperty:设置JavaBean的属性。 jsp:getProperty:输出某个JavaBean的属性。 jsp:forward:把...

    前端分页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动作元素.pptx

    标准动作元素是JSP提供的一些基本动作元素,例如&lt;jsp:include&gt;、&lt;jsp:param&gt;、&lt;jsp:forward&gt;、&lt;jsp:useBean&gt;、&lt;jsp:getProperty&gt;、&lt;jsp:setProperty&gt;和&lt;jsp:plugin&gt;等。自定义动作元素是开发者根据需求自定义的动作...

Global site tag (gtag.js) - Google Analytics