JSP中include指令和动作标识include的区别

相同点:都用于包含其他页面。


不同点:

1. 语法格式

文件包含指令: <%@ include file="path" %>

动作包含指令: <jsp:include page="url" />


2. 包含文件的编译

文件包含的include指令是静态包含。即使被包含的文件中有JSP代码,在包含时也不会被编译执行。将两个页面组合成一个后,编译处理为一个Java文件,最后返回结果页面。

如下图:


<jsp:include>动作标识的原理是将被包含的页面编译处理后将结果包含在页面中。当该标识被执行时,程序会请求转发到被包含的页面并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码。

如下图:



Notes:

对于<jsp:include>,由于静态页面不需要编译即可被web容器解析,所以如果被包含的页面是个静态页面,不会经历编译处理这一过程。


3. 属性表达式支持

include指令通过file属性指定被包含的文件,该属性不支持任何表达式。

<jsp:include>标识通过page属性指定被包含的文件,该属性支持JSP表达式。


4. 变量/方法能否重命名

在应用include指令包含文件时,由于被包含的文件最终会生成一个文件,所以包含文件和被包含文件不能有重名的变量或方法。

在应用<jsp:include>包含文件时,由于每个文件单独编译,所以变量和方法名不冲突。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值