1. 程式人生 > >兩種include方式的作用

兩種include方式的作用

一、前言

    身為一名coder有太多太多的知識點要去學,太多太多的東西要去記。往往一些小細節也就難免疏忽,但悲催的是多數困惱你的bug就是因為這些微不足道的知識點。我們又不是機器人,怎麼可能什麼都記得了呢。更多的是遇到問題->解決問題->成為經驗,這種提升模式。其實多去交流,多去分享,在你還未遇到問題之前就能預先知曉解決方法,或許提升的更快。

二、JSP中include的兩種方法

    1.include指令:




1 <%@include file="檔案的絕對路徑或者相對路徑"%>


    file屬性是必填的(絕對或相對路徑),但它不支援任何的表示式,也不允許通過?掛參方式來傳遞引數。

    2.include動作:




1 2 3 <jsp:include page="被包含檔案的路徑" flush="true/false"> <jsp:param name="引數名稱" value="引數值"/> </jsp:inclue>


    page屬性是必填的(絕對或相對路徑),但它及支援表示式也可傳遞引數。flush屬性為緩衝區滿時,清空緩衝區。

三、兩者的區別

    1.執行時間上的區別:

    <%@ 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


四、例子解釋

    在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=”” />動作大家可以自己寫個例子試看看。

五、結語

    再小再簡單的問題都不能忽視,栽過跟頭的人都深有體會。堅持是一種精神,分享是一種快樂。

相關推薦

include方式作用

一、前言     身為一名coder有太多太多的知識點要去學,太多太多的東西要去記。往往一些小細節也就難免疏忽,但悲催的是多數困惱你的bug就是因為這些微不足道的知識點。我們又不是機器人,怎麼可能什麼都記得了呢。更多的是遇到問題->解決問題->成為經驗,這種提升模式。其實多去交流,多去分享,在你還

include方式及filter中的dispatcher解析

兩種include方式 我自己寫了一個original.jsp,另外有一個includedPage.jsp,我想在original.jsp中把includedPage.jsp引進來有兩種方式: 1、<%@ include file="includedPage.j

C++ 類的定義方式

命名 c++ ech += esp set with aced spa 類內定義 class Teacher { private: string _name; int _age; public: Teacher() { printf("create teche

屬性的定義方式

alt obj tro tran padding pad hit object 方式 裝飾器方式:[email protected]/* */ 經典類,[email protected]/* */(如上一步實例) # ###############

[轉]Web APi之認證(Authentication)實現方式【二】(十三)

用戶數 ted das 客戶 元素 基礎 目標 開始 net 本文轉自:http://www.cnblogs.com/CreateMyself/p/4857799.html 前言 上一節我們詳細講解了認證及其基本信息,這一節我們通過兩種不同方式來實現認證,並且分析如

xml的解析方式

name 字符 system main ner exce pub void ref xml解析是日常項目中用到比較多的技能。不管是配置參數或者數據都能夠保存在xml文件裏。同一時候也能夠將xml作為數據傳輸的一種格式。本文將介紹兩種基本解析方式:xml字符串解析和xml

記錄下log4j的配置方式

ole num div resolv ade true uil data- range XML文件配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configur

Shell簡介:什麽是Shell,Shell命令的執行方式

shell linuxShell本身是一個用C語言編寫的程序,它是用戶使用Unix/Linux的橋梁,用戶的大部分工作都是通過Shell完成的。Shell既是一種命令語言,又是一種程序設計語言。作為命令語言,它交互式地解釋和執行用戶輸入的命令;作為程序設計語言,它定義了各種變量和參數,並提供了許多在高級語言中

JFreeChart與AJAX+JSON+ECharts處理方式生成熱詞統計可視化圖表

線型 static 後臺 標註 png tip 開源工具 grid 讀取 本篇的思想:對HDFS獲取的數據進行兩種不同的可視化圖表處理方式。第一種JFreeChar可視化處理生成圖片文件查看。第二種AJAX+JSON+ECharts實現可視化圖表,並呈現於瀏覽器上。    

C++ 11 可變模板參數的展開方式

模板 span tar nbsp 兩種 logs args clu return #include <iostream> #include <string> #include <stdint.h> template<typena

多線程實現方式的區別

http [] tick 避免 main 單繼承 style 區別 tar 請解釋Thread類與Runnable接口實現多線程的區別?(請解釋多線程兩種實現方式的區別?) 1. Thread類時Runnable接口的子類,使用Runnable接口實現多線程可以避免單繼承局

JPA 派生標識符的實現方式

string column public tid man pri one embed page 方法一:@Entity@IdClass(ModuleId.class)public class Module { @Id private Integer index;

冒泡排序--優化方式

元素 下標 [0 void 臨時變量 [] cnblogs 數組下標 blog 原始版本 void bubble_sort(int arr[],int n){ int tmp; for (int i = 0; i < n; ++i)

0923關於安裝mysql簡單方式

csdn list conn utf-8 啟動 sdn lib ria onf http://blog.csdn.net/liumm0000/article/details/18841197 方式一:利用RPM安裝包進行安裝 RPM方式安裝MySQL5.6 RPM方式安裝M

java框架篇---spring aop配置方式

system 操作類 asp xml文件 ack ica one pack exc 第一種:註解配置AOP 註解配置AOP(使用 AspectJ 類庫實現的),大致分為三步: 1. 使用註解@Aspect來定義一個切面,在切面中定義切入點(@Pointcut),通知類型(@

字典的訪問方式

get address stdin 根據 獲取 all last most 方法 字典的訪問方式: 根據鍵訪問值 info = {‘name‘:‘班長‘, ‘id‘:100, ‘sex‘:‘f‘, ‘address‘:‘地球亞洲中國北京‘} print(info[‘nam

cron 定時任配置方式

card 任務 init 1-1 rop java代碼 exp tor date 第一種:xml文件方式 <bean id="commonTimer" class="com.course.wx.timer.CommonTimer"></bean&

【轉載】form表單的提交方式,submit和button的用法

按鈕 type ssid login false tex .get ons 轉載 1.當輸入用戶名和密碼為空的時候,需要判斷。這時候就用到了校驗用戶名和密碼,這個需要在jsp的前端頁面寫;有兩種方法,一種是用submit提交。一種是用button提交。方法一:在jsp的前端

14、Fibonacci的實現方式

等於 cheng pos art log ref clas gpo tar 斐波納契數列,又稱黃金分割數列,指的是這樣一個數列:1、1、2、3、5、8、13、21、……在數學上,斐波納契數列以如下被以遞歸的方法定義:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n&

form表單中get和post提交方式的區別

name bsp inpu get div post input 普通 表單 一、form表單中get和post兩種提交方式的區別?   1.get提交表單中的內容在鏈接處是可見的。post不可見   2.post相比於get是安全的   3.post不收限制大小,get有