问一个简的JSP指令问题,请师傅帮忙!

来源:百度知道 编辑:UC知道 时间:2024/07/02 23:06:13
请问以下两条指令有何区别,我们老师只给我们讲第一种,如果遇到了第二种,那弟子就无从下手了,还请师傅指点!
<%@ include file="login.jsp"%>
<jsp:include page="login.jsp"/>

<%@ include file="login.jsp"%> 这是编译指令,用来指定把另一个文件包含到当前的jsp页面中。是静态包含,已经背包含页面已经被编译完成,所以不能传参数。
<jsp:include page="login.jsp"/>是操作指令,是动态包含,可以向被包含的页面传参数。

前一个是静态加载
后一个是动态加载,
前一个就不多说了,主要介绍一下后一个,
动态加载页面的时候,被加载的页面实际上是一个单独的文件被编译成.class文件之后在主页面被调用的。
所以它们之间最重要的区别其实是在加载的时间上,
最好的检查办法是,故意在被加载的页面写一个不能被编译的错误
然后使用两种方式加载,第一种加载在编译的时候会报错
第二种加载在编译的时候不会报错。

我常用的是第二种。
前者是指令元素、后者是行为元素。
详细参见:
http://blog.sina.com.cn/s/blog_4c9fba8b01000b3c.html
介绍的很详细。

简单的理解就是
<%@ include file="login.jsp"%>把login.jsp里面的代码原封不动的拷贝到包含页面。

<jsp:include page="login.jsp"/>是把login.jsp当成一个class引用,就是说login.jsp在被包含之前已经编译好了

对于这个问题你应该baidu一下:jsp的include指令和include标签的区别