<jsp:include>动态包含与静态包含

DogJay 2018-12-30 后端技术 499人已围观

JSP中动态INCLUDE与静态INCLUDE的区别?动态INCLUDE用jsp:include动作实现它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面



 



动态INCLUDE

用jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。



(这里你必须使用flush="true",你不能使用false值.缺省值为false )

静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>



1. 静态include的结果是把其他jsp引入当前jsp,两者合为一体

动态include的结构是两者独立,直到输出时才合并( 看看jsp生成的java文件就可以知道了)



2.正是因为这样,动态include的jsp文件独立性很强,是一个单独的jsp文件,需要使用的对象,页面设置,都必须有自己创建,当然,还好它和include它的页面的request范围是一致的.

而静态include纯粹是把代码写在外面的一种共享方法,所有的变量都是可以和include它的主文件共享,两者高度紧密结合,不能有变量同名的冲突.而页面设置也可以借用主文件的.



include指令是静态引入的;而include动作是动态引入的。

静态与动态的include与页面内容无关。

与<%@include...%>不同的是,jsp:include 可以向被包含的页传递参数,但,如果传递参数的话,被包含的页必须是JSP页面。

例如:向被包含的页included2.jsp传递参数:

    

     

     



page属性: 相对路径指明被包含的文件

flush属性: 必须用true ,表示页面可刷新。

可以用jsp:param向被包含的动态页即JSP页传递参数(而include指令则不可以),参数以”参数名-值”对的形式传递,被包含的页使用request.getParameter(“参数名称”)可以获取相应参数的值

吐槽(0)

文章评论

    共有0条评论

    验证码:

文章目录