<%@page include%>与<jsp:include>的异同点

如题所述

<%@page include%>是JSP的编译指令,利用Page编译指令可以设置JSP的页面属性。通常位于JSP页面的顶端,对同一个页面可以有多个page指令。
如:
<%@page
[language="Java"] //声明JSP页面使用语言的种类
[extends="package.class"] //JSP程序编译时所产生的Java类,需要继承的父类,或者需要实现的接口的全限定类名
[import="package.class | package.*},..."] //用来导入包。默认自动导入的包:java.lang.*; javax.servlet.*; javax.servlet.jsp.*; javax.servlet.http.*
[session="true | false"]
[buffer="none | 8kb | size kb"]
[autoFlush="true | false"]
[isThreadSafe="true | false"]
[info="text"]
[errorPage="relativeURL"] //指定错误处理页面
[contentType="mimeType [ ;charset=characterSet]" | "text/html;charSet=ISO8859-1"]
[isErrorPage="true | false"] //设置本JSP页面为错误处理程序
%>
<jsp:include> 包含的是所包含 URI 的 响应,而不是 URI 本身。这意味着:对所指出的 URI 进行解释,因而包含的是生成的响应。如果页面是 HTML,那么将得到一点也没有变化的HTML。但是,如果是 Perl 脚本、Java servlet 或者 CGI 程序,那么得到的将是从该程序解释而得的结果。简而言之,<jsp:include>把所指向的URI执行结果include到这个页面中来。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-15
第一个表示绝对路径引入根目录下的pages,照你这种写法应该会报错
page="/项目名/pages/xxx.jsp"这样写就ok!
第二个表示相对路径,就是说当前页的上一个目录
../ 表示上一个目录。在实际的开发中 我们一般推荐使用绝对路径!本回答被网友采纳