`

JSP页面中的include方法比较

阅读更多

JSP中有两种include方法。

 

1》 <%@ include file="title.jsp" %>

这种方式属于jsp指令,直接把指定的title.jsp文件的内容插入当前位置,相当于拷贝粘贴。

如果多个jsp页面都include同一个title.jsp,那么相当于在每个页面都拷贝了一份title.jsp的内容。

 

优点:避免了代码的冗余,相同的代码只维护一份即可,便于日后的修改。

缺点:只是机械的拷贝粘贴式的引用,file只能指定具体的文件,不能指定uri(无法引用servlet)。

 

<%@ include file="title.jsp" %>对应的java代码如下:

 

private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;

  static {
    _jspx_dependants = new java.util.HashMap<java.lang.String,java.lang.Long>(1);
    _jspx_dependants.put("/title.jsp", Long.valueOf(1358390650340L));
  }

 

 

2》 JSP动作,相当于先把控制权交给title.jsp,处理完毕后,再转交给当前的jsp页面,这样就可以避免复制title.jsp中的代码。

 

<jsp:include page="title.jsp" flush="false">

    <jsp:param name="title" value="welcome"/>

</jsp:include>

 

1) 传递给title.jsp的param值,在title.jsp中可以通过request.getParameter("title")来获得。

2) jsp:include这种方式,和servlet中的RequestDispatcher.include(request, response)等价。

3) 和jsp:forward的区别在于,title.jsp处理完毕后,控制权会再次转交给当前画面,而jsp:forward直接将控制权交给title.jsp,不再返回给当前页面。

 

<jsp:include page="title.jsp">
<jsp:param name="title" value="result title"/>
</jsp:include>

对应的java代码如下:

org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "title.jsp" + (("title.jsp").indexOf('?')>0? '&': '?') + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("title", request.getCharacterEncoding())+ "=" + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("result title", request.getCharacterEncoding()), out, false);

 

分享到:
评论

相关推荐

    jsp:include与include实探

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

    jsp的Include方式

    静态Include在编译时就会被处理,被包含的页面会被转换成Servlet的源代码并插入到包含它的JSP页面中。这种方式适用于包含静态内容,如头部、底部导航等不经常变动的部分。 2. **动态Include(&lt;jsp:forward&gt;)** ...

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

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

    JSP:include和include指令区别

    当JSP页面被转换成Servlet源代码时,`&lt;%@ include %&gt;` 指令会将指定的文件内容物理地复制到主页面中。这意味着一旦主页面被编译,子页面的任何更改都不会反映到最终的Servlet中,除非重新编译主页面。因此,`&lt;%@ ...

    jsp include 乱码问题的解决

    本文将详细解析JSP `include` 乱码问题的成因以及解决方法。 首先,我们要理解乱码产生的根本原因。乱码通常是由于字符编码不一致导致的。在JSP中,页面的编码、包含的文件的编码以及服务器的默认编码如果设置不...

    Java Web初级编程:JSP 页面元素.pptx

    Java Web 初级编程 JSP 页面元素 JAVA Web 编程是当前 Web 开发中非常重要的一...Page 指令和 Include 指令是 JSP 页面元素中非常重要的两种指令,它们用于在 JSP 页面中指定不同的指令,以便控制 JSP 页面的行为。

    jsp实现页面跳转的方法

    `jsp:include`动作主要用于将一个JSP页面嵌入到另一个JSP页面中。当`jsp:include`被执行时,它会读取目标页面的内容,并将其结果插入到当前页面中指定的位置。这一过程是在服务器端完成的,也就是说,目标页面的内容...

    几种JSP页面传值方式.txt

    ### 几种JSP页面传值方式详解 在Java Web开发中,JSP(Java Server Pages)是一种常用的技术,用于创建动态网页。JSP页面之间的数据传递是实现前后端交互的关键环节之一。本文将详细介绍几种常见的JSP页面传值方式...

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

    在 JSP 开发中,include 文件是一个常用的技术手段,可以将公共的代码或者组件包含到不同的页面中,以提高代码的复用性和维护性。然而,在使用 JSP include 文件时,经常会遇到乱码的问题,尤其是在 Tomcat 服务器上...

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

    `&lt;%@ include file="..."%&gt;` 是一个JSP指令,它在编译时(页面转换为Servlet时)静态地将一个文件的内容插入到JSP页面中。这意味着被包含的页面只会被包含一次,除非JSP文件重新编译。例如: ```jsp &lt;%@ include ...

    j2ee15:jsp04,session的访问控制,分页查询,page include·

    JSP页面包含(Page Include)是将一个JSP页面的内容插入到另一个JSP页面中的方法。这有助于代码复用和组织,使得结构更清晰。有两种包含方式:`&lt;jsp:include&gt;`标签和`&lt;%@include%&gt;`指令。前者在每次请求时都包含...

    JSP中动态include与静态include的区别介绍

    动态INCLUDE 用法:&lt;jsp page=”included.jsp” flush=”true”&gt; 说明:它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数,先编译之后再进行处理。 原因:1、静态include的结果是把其他jsp引入...

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

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

    JSP的include指令的使用方法

    在JSP页面中,include指令是一个重要的组成部分,它用于在JSP页面编译之前将另一个文件的内容插入到当前页面。使用include指令可以将常用的代码段或组件包含到多个JSP页面中,从而实现代码的重用,提高开发效率和...

    jsp网页设计小实例

    此外,优化JSP页面的性能也很重要,包括减少不必要的Java代码,使用缓存,以及正确使用JSP指令(如page、include、forward等)。 通过这个"jsp网页设计小实例",你将深入理解JSP的原理和实践,掌握动态网站开发的...

    JSP页面的基本结构——求圆面积周长

    * include动作:&lt;jsp:include page="..." /&gt;,用于将其他JSP页面包含到当前JSP页面中。 五、实验程序及结果 实验程序主要包括两个JSP页面:index.jsp和dealwith.jsp。index.jsp用于实现用户登录界面,而dealwith....

    jsp页面跳转的五中方法

    本文将详细介绍五种常用的JSP页面跳转方法:`RequestDispatcher.forward()`、`response.sendRedirect()`、`jsp:forward`、`request.getRequestDispatcher().include()`以及`&lt;jsp:include&gt;`。这些方法各有特点,适用...

    可以include的jsp独立分页

    有很详细的注释解释,是中国人都应该看的懂,在你需要的分页的页面嵌入这个jsp,通过修改它的默认属性,和使用它的内置方法,就可以达到分页效果,而且可以有自己的样式效果,以下是例子: 你的页面头顶部加入&lt;%@include ...

    动态Jsp页面转换成静态Html页面

    3. 解析JSP:使用JSP的`RequestDispatcher.include()`或`JspRuntimeLibrary.include()`方法,将JSP页面包含进来并执行,得到HTML字符串。 4. 生成HTML:将HTML字符串写入到一个新文件中,文件名通常是JSP文件名加上....

    JSP基础语法-include指令

    在Java Server Pages(JSP)技术中,`include`指令是一项重要的功能,它允许开发者将一个JSP页面的内容嵌入到另一个JSP页面中,从而实现代码的重用和模块化。通过`include`指令,可以有效地管理大型项目中的公共组件...

Global site tag (gtag.js) - Google Analytics