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


相关推荐

  • 三种JS截取字符串方法

    三种JS截取字符串方法转载: https://www.cnblogs.com/zccfun/p/6054533.htmlJS提供三个截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数:varstmp="rcinn.cn";使用一个参数alert(stmp.slice(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn"a…

    2022年4月29日
    53
  • java中map转json[通俗易懂]

    java中map转json[通俗易懂]在日常的使用中,我们一般会遇到map转json,如果遍历的话会浪费大量的时间,其实我们拥有这样的jar包Themethod ***isundefinedforthetypeJSONObject缺哪个包——json-lib.jar这样还是不行的需要一个依赖的jar包要不然会报错java.lang.ClassNotFoundException:

    2022年6月20日
    56
  • springWeb实战

    springWeb实战springWeb实战

    2022年4月24日
    42
  • smalldatetime mysql_「smalldatetime」datetime与smalldatetime之间的区别小结 – seo实验室

    smalldatetime mysql_「smalldatetime」datetime与smalldatetime之间的区别小结 – seo实验室smalldatetime1、时间范围的差别:smalldatetime的有效时间范围1900/1/1~2079/6/6datetime的有效时间范围1753/1/1~9999/12/31所以一般我都会用smalldatetime。2、精准的差别:smalldatetime只精准到分datetime则可精准到3.33毫秒。sqlServer中,smalldatetime只能精确到分钟,而data…

    2022年5月19日
    35
  • string.h 或 cstring 头文件包含的字符串操纵函数查询「建议收藏」

    string.h 或 cstring 头文件包含的字符串操纵函数查询「建议收藏」参考网站:http://www.cplusplus.com/reference/cstring/头文件函数问题尽量去官网,或权威网站查找信息,知识全面

    2025年11月5日
    1
  • F1 score,micro F1score,macro F1score 的定义

    F1 score,micro F1score,macro F1score 的定义本篇博客可能会继续更新最近在文献中经常看到precesion,recall,常常忘记了他们的定义,在加上今天又看到评价多标签分类任务性能的度量方法microF1score和macroF2score。决定再把F1score一并加进来把定义写清楚,忘记了再来看看。F1scoreF1score(以下简称F1)是用来评价二元分类器的度量,它的计算方法如下:F1&amp;ThickSpace;…

    2022年10月14日
    3

发表回复

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

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