jsp中include指令和include动作区别

来源:互联网 发布:百度 程序员 签字费 编辑:程序博客网 时间:2024/06/01 18:56

1、include指令

语法:
<%@include file="URL" %>

2、include动作

语法
<jsp:include page="URL" flush="true|false">
flush表示被包含的页面是否从缓冲区读取

3、比较

这里写图片描述

对于第三第四点可以验证如下:
date.jsp

<%@ page language="java" import="java.util.*,java.text.*" contentType="text/html; charset=utf-8"%><%    Date d=new Date();    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");    String s=sdf.format(d);    out.println(s);%>

Command.jsp

<body>  <h1>include指令</h1>  <hr>  <%@include file="date.jsp" %></body>

action.jsp

<body>  <h1>include动作</h1>  <hr>  <jsp:include page="date.jsp" flush="false"></jsp:include></body>

首先运行Command.jsp,在
Tomcat的work\Catalina\localhost\includeCommAction\org\apache\jsp目录下发现这些文件:
这里写图片描述
也就是说使用include指令时,最后只会生成一个servlet,打开command_jsp.java分析:
这里写图片描述
可以看到在文件中看到date.jsp的源代码,也就是说include指令包含的是“代码”

再运行action.jsp,目录中文件如下:
这里写图片描述
发现多了两个class文件:date_jsp.class和action_jsp.class,也就是说使用include动作包含和被包含的页面会自己独立生成自己的servlet,再看看action_jsp.java内容有下面这句话:
这里写图片描述
include动作并没有包含date.jsp的代码,是通过红线标注的这句话引入,包含的是“输出”

0 0
原创粉丝点击