<%@ include file=""%>与两种方式的做用

1、前言html

    身为一名coder有太多太多的知识点要去学,太多太多的东西要去记。每每一些小细节也就不免疏忽,但悲催的是多数困恼你的bug就是由于这些微不足道的知识点。咱们又不是机器人,怎么可能什么都记得了呢。更多的是遇到问题->解决问题->成为经验,这种提高模式。其实多去交流,多去分享,在你还未遇到问题以前就能预先知晓解决方法,或许提高的更快。java

 

2、JSP中include的两种方法jsp

    1.include指令:测试

1
<% @include  file= "文件的绝对路径或者相对路径" %>

    file属性是必填的(绝对或相对路径),但它不支持任何的表达式,也不容许经过?挂参方式来传递参数。spa

    2.include动做:翻译

1
2
3
<jsp:include page= "被包含文件的路径"  flush= "true/false" >
     <jsp:param name= "参数名称"  value= "参数值" />
</jsp:inclue>

    page属性是必填的(绝对或相对路径),但它及支持表达式也可传递参数。flush属性为缓冲区满时,清空缓冲区。code

 

3、二者的区别htm

    1.执行时间上的区别:blog

    <%@ include file=”relativeURI”%> 是在翻译阶段执行(将JSP页面转换成servlet的阶段)。图片

    <jsp:include page=”relativeURI” flush=”true” /> 在请求处理阶段执行。

    2.引入内容的方式区别:

    <%@ include file=”relativeURI”%>适用于引入静态文本,也能够这么理解:它是纯粹的把部分代码写到了另外一页面(或者说是共享),而那另外一页面中不能有相同的变量名,但能够借用主页面的内容。

    <jsp:include page=”relativeURI” flush=”true” />引入执行页面或servlet所生成的应答文本。

    如图理解:

wKioL1PgzZqCJA4uAAG5e0XcQ7U927.jpg

wKiom1PgzIGD-HzdAAFcTheqPSE922.jpg


4、例子解释

    在index.jsp页面中引入test.jsp页面

    wKiom1Pgzd_RDD6nAAMQ02rlMGU397.jpg

路径中出现表达式,则页面报500错误……因此咱们要把<%=basePath%>去掉,替换成无包含表达式相对或绝对路径地址。

wKiom1Pg0Vrwm98KAAHMw1CCrHo336.jpg

变量出现重名冲突,则页面一样报500错误……咱们把那些变量都去掉就剩下<div>我是head</div>再测试,获得的结果是:

wKioL1Pg07LwWV9OAACe2aKhK0s267.jpg

此次没报错了,可是汉字出现乱码了!因此test.jsp页面中,<%@ page contentType="text/html;charset=UTF-8" language="java" %>这句咱们仍是要保留下来的。

 

    以上我只是简单的讲解了下<%@ include file="" %>的例子中一些常遇到的错误,由于咱们平时也比较多用此指令。至于<jsp:include page="" />动做你们能够本身写个例子试看看。

 

5、结语

    再小再简单的问题都不能忽视,栽过跟头的人都深有体会。坚持是一种精神,分享是一种快乐。

相关文章
相关标签/搜索