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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 工具说明书 – 网页死链检测工具XENU及其名字来历「建议收藏」

    工具说明书 – 网页死链检测工具XENU及其名字来历「建议收藏」Xenu’sLinkSleuth是一个免费的小工具,Windows版本,给给定的URL或网页文件进行死链分析,给出报告。访问死链,一般会返回:404NotFound。TheHTTP404NotFoundclienterrorresponsecodeindicatesthattheservercan’tfindtherequestedresource.Linksthatleadtoa404pageareoftencalledbrok.

    2022年7月23日
    14
  • phpstorm中完成一键快速注释函数头

    phpstorm中完成一键快速注释函数头

    2021年10月31日
    55
  • 日志格式规范「建议收藏」

    日志格式规范「建议收藏」1简介在程序中写日志是一件非常重要,但是很容易被开发人员忽视的地方。写好程序的日志可以帮助我们大大减轻后期维护压力。在实际的工作中,开发人员往往迫于巨大时间压力,而写日志又是一个非常繁琐的事情,往往没有引起足够的重视。开发人员应在一开始就养成良好的日志撰写习惯,并且应在实际的开发工作中为写日志预留足够的时间。1.1日志的作用一般程序日志出自下面几个方面的需求:1.记…

    2022年5月1日
    61
  • PostgreSQL索引类型

    PostgreSQL索引类型PostgreSQL有很多索引类型。每种索引类型都有各自适用的情景,具体使用哪一种索引取决于数据类型、表中的底层基本数据和执行的查询类型。接下来简单看一下PostgreSQL中可用的索引类型有哪些,以及各种情况下适合使用哪个索引。1、B-treePostgreSQL中,B-tree索引是最常用的一种索引类型。用索引扫描比顺序扫描速度快,因为它可能只需要读取少部分页面,而顺序扫描可能读取几千个页面。…

    2022年6月2日
    109
  • FindWindow和FindWindowEx

    FindWindow和FindWindowEx函数型:HWNDFindWindow(LPCTSTRIpClassName,LPCTSTRIpWindowName);IpClassName:指向一个指定了类名的空结束字符串或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobaIAddAtom函数产生的全局成员。该成员为16位,必须位于lpClassName的低16位,高位必须为0。如果为NULL,

    2022年5月31日
    32
  • html做一个登录注册页面_html5用户注册表单

    html做一个登录注册页面_html5用户注册表单一个简易登录表单的实现,包括用户名、密码、验证码;验证码使用canvas绘制,随机生成。

    2022年8月11日
    12

发表回复

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

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