JSP Include 文件方式

JSP Include 文件方式两种方式JSPinclude文件有两种方式:1. 使用include标签,像  2.使用jsp:include标签,像              使用的差异在于:方式1比较适合引入一些静态的,比较少改动的内容;比如网页的header和footer的部分。方式2比较适合于引入改动较多的页面。

大家好,又见面了,我是你们的朋友全栈君。

两种方式

JSP include 文件有两种方式:

1.  使用include 标签,像

   <%@ include file=”include.jsp” %>

2. 使用jsp:include 标签,像

    <jsp:include page=”include.jsp” flush=”true”>
         <jsp:param name=”age” value=”32″ />  
    </jsp:include> 

使用的差异在于:

方式1 比较适合引入一些静态的,比较少改动的内容;比如网页的header 和 footer 的部分。

方式2 比较适合于引入改动较多的页面。

实例

两个jsp: main.jsp 和 include.jsp

include.jsp 的内容都是一样:

<!-- include.jsp by oscar999-->
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page language="java" import="java.util.*" %>  
===begin include jsp===      
<p>Include JSP: </p> 
<p>CurDate <%=new Date()%></p> 
<%
  String str = request.getParameter("age");
%>
age:
<%=str%>  <br>

===end include jsp=== 

main.jsp 导入方式不同:

方式1:

<!-- main.jsp by oscar999-->
<%@ page contentType="text/html;charset=UTF-8" %>
<html>  
  <body>  
    <div>
      ===begin main jsp=== 
      <p> Main JSP request:  </p>  
      ===end main jsp=== 
    </div>
    <%@ include file="include.jsp" %>
    
  </body>  
</html>

方式二:

<!-- main.jsp by oscar999-->
<%@ page contentType="text/html;charset=UTF-8" %>
<html>  
  <body>  
    <div>
      ===begin main jsp=== 
      <p> Main JSP request:  </p>  
      ===end main jsp=== 
    </div>
    <jsp:include page="include.jsp" flush="true">
    	 <jsp:param name="age" value="32" />  
    </jsp:include>  
    
  </body>  
</html>

差别的实质

JSP运行的实质是最终都会被web server 转成servlet 来执行。

tomcat 转化的.java 文件位于work/Catalina/local 的相关目录下。

比较一下两者的差别:

方式1产生后的Java的include部分:

      out.write("===begin include jsp===      \r\n");
      out.write("<p>Include JSP: </p> \r\n");

  String str = request.getParameter("age");

      out.write("\r\n");
      out.write("age:\r\n");
      out.print(str);
      out.write("  <br>\r\n");
      out.write("\r\n");
      out.write("===end include jsp=== ");

而方式2如下:

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

可以看出方式1是直接输出,而方式二就是需要进行解释。

补充

开发的时候可能会给include的jsp 起一个比较容易区分的后缀名, 比如  .incjsp;

使用方式2 导入的话,使用Chrome 和Firefox 浏览器会有问题。会把include.incjsp 的源码文件输出,而不是产生后的html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158664.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 清博舆情系统_什么是舆情

    清博舆情系统_什么是舆情1. 引言1.1 编写目的  编写此文档的目的是确认微博舆情分析系统的基本架构,指导系统的基本架构。1.2 项目信息项目名称:舆情分析系统项目提出者:指导教师开发者:东北大学软件学院大数据班T09实训项目组(lzf、lcx)用户:舆情分析员、系统管理员1.3 项目背景  互联网的飞速发展促进了很多新媒体的发展,不论是知名的大V,明星还是围观群众都可以通过手机在微博,朋友圈或者点评网站上发表状态,分享自己的所见所想,使得“人人都有了麦克风”。不论是热点新闻还是娱乐八卦,传播速度远超我们

    2022年9月20日
    0
  • j2ee是什么,包括哪些技术_什么是J2EE

    j2ee是什么,包括哪些技术_什么是J2EEjava自学网www.java7.com从整体上讲,J2EE是使用Java技术开发企业级应用的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。适用于企业级应用的J2EE,提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。  主要包括以下这些技术:  1)Servlet  Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和..

    2022年10月11日
    0
  • PV(访问量)、UV(独立访客)、IP(独立IP) (转)

    PV(访问量)、UV(独立访客)、IP(独立IP) (转)

    2021年11月4日
    58
  • 2hutool实战:DateUtil-常用的时间类型转换「建议收藏」

    Hutool是一个小而全的Java工具类库,github的stars19K+的优秀开源项目。hutool实战:常用的时间类型Date,DateTime,Calendar和TemporalAccessor(LocalDateTime)转换关键字:javajavaJAVAhutoolhutoolHutool工具类工具类工具类DateUtilDateUtilDateUtil

    2022年4月13日
    33
  • java的db是什么_java db[通俗易懂]

    java的db是什么_java db[通俗易懂]关于javadb的搜索结果问题关于DB+RECORD操作oracle数据库的问题?报错@JFinal你好,想跟你请教个问题:我操作oracle数据库,插入一条记录Recorduser=newRecord().set(“userid”,…爱吃鱼的程序员2020-06-2220:22:060浏览量回答数1回答为什么不用分页查询是为了导出Excel使用的,前台页面的分页查询没有问题…

    2022年7月7日
    43
  • vs2012 express 密钥「建议收藏」

    vs2012 express 密钥「建议收藏」VisualStudioExpress2012forWindowsDesktopKEY:MMVJ9-FKY74-W449Y-RB79G-8GJGJMicrosoftVisualStudioExpress2012forWebKEY:VX3VY-8GCVT-KJQCY-RQ99X-MCF2RVisualStudioExpress

    2025年7月26日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号