一、包含语句<%@include file="uri" %>
可包含的文件可以是任何后缀的文件如,*.inc、*.htm、*.jsp、*.txt等。例如,%@include file="hello.inc"%、<%@include file="bottom.jsp"%>。
注:include指令包含的是文件的内容,所以被包含文件中不能包含有<html><head><body>三个标签。
二、另一个包含语句<jsp:include page="uri"/>
用法主要有三种:
<jsp:include page="url"/>
<jsp:include page="url" flush="true"/>
<jsp:include page="url" flush="true">
<jsp:parameter name="name" value="value"/>
</jsp:include>
三、比较两种包含语句的不同
1、后者又叫标签指令形式。和html有些类似,必须要有</jsp:XXX>结束或是/>结束。
2、后者,可以向被包含页传递参数。当需要向被包含页传递参数时,被包含页必须是jsp动态页面。
3、接收包含语名的方法还是 request.getParameter("参数名");
4、后者如果包含的页面是jsp文件,而自动处理,如果包含的是静态内容,则直接包含进来。
四、学到这里的时候可能经常有些面试题:请问jsp中两种包含语句的区别?
1、理解一:
<%@include file="uri"%>,静态包含,不管被包含页面的内容如何,先包含时行一起执行后发送到客户端。
<jsp:include page="uri"/>,动态包含,能自动区分被包含文件是静态还是动态的。执行时,如果是静太资源则和上面一样把内容加进来,如果是动态资源,则先各自处理之后将处理后的结果包含在一起。