JSP静态包含和动态包含的区别和联系

 我来答
kingkongzmc
2018-06-25 · TA获得超过884个赞
知道小有建树答主
回答量:913
采纳率:77%
帮助的人:281万
展开全部

静态导入

<%@include file="scriptlet.jsp" %>

动态导入

<jsp:include page="scriptlet.jsp" />
<jsp:include page="${page}.jsp" />

(1)

  • 静态导入(include指令)通过file属性指定被包含的文件,并且file属性不支持任何表达式;

  • 动态导入(include动作)通过page属性指定被包含的文件,且page属性支持JSP表达式;

(2)

  • 使用静态导入(include指令)时,被包含的文件内容会原封不动的插入到包含页中,然后JSP编译器再将合成后的文件最终编译成一个Java文件;

  • 使用动态导入(include动作)包含文件时,当该标识被执行时,程序会将请求转发(不是请求重定向)到被包含的页面,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码。因为服务器执行的是多个文件,所以JSP编译器会分别对这些文件进行编译;

(3)

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

  • 而include动作包含文件时,由于每个文件是单独编译的,所以在被包含文件和包含文件中重名的变量和方法是不相冲突的。

(4)

  • 静态导入是将被导入页面的代码完全融入,两个页面融合成一个整体Servlet,因此被导入页面甚至不需要是一个完整的页面;

  • 而动态导入则在Servlet中使用include方法来引入被导入页面的内容;

(5)

  • 静态导入时被导入页面的编译指令会起作用;

  • 而动态导入时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式