❶ jsp頁面中include是什麼意思
jsp的include是一種動作,有兩種,它們主要是為一個頁面導入一個固定的模塊回頁面;
第一種:<jsp:include page=" "/>,其中答page屬性中加要導入模板頁的名稱,加後綴
第二種:<@ include file=" "/>,file與page一樣;
❷ jspinclude 和 include的區別
在jsp中include有兩種形式,分別是
<%@ include file=」 」%>
<jsp:include page=」 」 flush=」true」/>
前者是指令元素、後者是行為元素。具體它們將在何處用?如何用及它們有什麼區別?這應該是很多人看到它都會想到的問題。下面一起來看看吧。
通常當應用程序中所有的頁面的某些部分(例如標題、頁腳和導航欄)都相同的時候,我們就可以考慮用include。具體在哪些時候用<%@ include file=」 」%>,哪些時候用<jsp:include page=」 」 flush=」true」/>.這種形式。首先要明白的是它們之間的區別。只有了解了它們用法的不同才理解該在何時去用以及如何選擇。
<%@ include file=」 」%>,jsp的include指令元素讀入指定頁面的內容。並把這些內容和原來的頁面融合到一起。(這個過程是在翻譯階段:也就是jsp被轉化成servlet的階段進行的。)
這里對翻譯階段進行一下說明:我們知道,jsp頁面不能原封不動地被傳送給瀏覽器,所有的jsp元素都必須首先由伺服器進行處理。這是通過將jsp頁面轉達化成servlet,然後執行這個servlet來完成的。伺服器需要一個jsp容器來處理jsp頁面。jsp容器通常以servlet的形式來實現,這個servlet經過配置,可以處理對jsp頁面的所有請求。
Jsp容器負責將jsp頁面轉化成servlet(稱為jsp頁面實現類?JSP Page implementation class),並編譯這個servlet。這兩步就構成了翻譯階段.
由此我們就會知道:jsp頁面是把include指令元素所指定的頁面的實際內容(也就是代碼段)加入到引入它的jsp頁面中,合成一個文件後被jsp容器將它轉化成servlet。可以看到這時會產生一個臨時class文件和一個java文件。
❸ jsp 的include 的用法
<%@include%>屬於靜態包含,在JSP文件編譯時將url文件包含進來,因此在代碼運行時改變被包含的文件,想實現該效果可以使用<jsp:include>標簽,該標簽動態載入被包含的頁面.
❹ jsp中include指令的作用是什麼
jsp中include指令的作用: 1,jsp向當前頁面加入另一文件的方法:<jsp:include page=」relativefileURL」 flush=」true」/> 2,是用來向當前頁中插入一個靜態文件的內容,這個文件可能是html文件、jsp文件或其它文本文件,格式如下:<%@ include file=」include.inc」%>如:native.jsp:<body>native file start here.<br><%@ include file=」include.inc」%>native file end here.<br></body>include.inc:include file start here.<br><%! String str=」Here is include』s context!」;%><% out.pringln(str+」<br>」);%>include file end here.<br>運行native.jsp,結果如下:native file start here.include file start here.Here is include』s context!include file end here.native file end here.注意:因為include.inc文件是在編譯時才插入的,所以只改 include.inc文件內容,而不對原JSP頁面做修改,得到的結果仍將是以前的結果。(因為一開始JSP引擎就判斷了JSP頁面沒被改動過,就直接執行已存在的位元組碼,而不對源代碼重新編譯,這樣對include做的修改也就在這沒有反映。)
❺ jsp:include
<jsp:include>
包含一個靜態或動態文件.
JSP
語法
<jsp:include
page="{relativeURL
|
<%=
expression%>}"flush="true"
/>
or
<jsp:include
page="{relativeURL
|
<%=
expression
%>}"
flush="true"
>
<jsp:param
name="parameterName"
value="{parameterValue
|
<%=
expression
%>}"
/>
</jsp:include>
Examples
<jsp:include
page="scripts/login.jsp"
/>
<jsp:include
page="right.html"
/>
<jsp:include
page="/index.html"
/>
<jsp:include
page="scripts/login.jsp">
<jsp:param
name="username"
value="jsmith"
/>
</jsp:include>
描述
<jsp:include>元素允許你包含動態文件和靜態文件,這兩種包含文件的結果是不同的。
如果文件僅是靜態文件,那麼這種包含僅僅是把包含文件的內容加到jsp文件中去,
而如果這個文件是動態的,那麼這個被包含文件也會被Jsp編譯器執行(這一切與asp相似)
你不能從文件名上判斷一個文件是動態的還是靜態的,比如aspcn.asp
就有可能只是
包含一些信息而已,而不需要執行。<jsp:include>能夠同時處理這兩種文件,因此你就
不需要包含時還要判斷此文件是動態的還是靜態的.
如果這個包含文件是動態的,那麼你還可以用<jsp:param>還傳遞參數名和參數值。
屬性
page="{relativeURL
|
<%=
expression
%>}"
參數為一相對路徑,或者是代表相對路徑的表達式.
flush="true"
這里你必須使用flush="true",你不能使用false值.預設值為false
<jsp:param
name="parameterName"
value="{parameterValue
|
<%=
expression
%>
}"
/>+<jsp:param>
子句能讓你傳遞一個或多個參數給動態文件。
你能在一個頁面中使用多個<jsp:param>來傳遞多個參數。
❻ jsp 中import與include區別
一. <%@ page import="path/to/class"%>
在jsp指示元素中,有個import ,它的作用是什麼呢,通過查看jsp編譯的java文件,其實就是一個聲明而已,就像是說明一個命名空間。如果你要在jsp中使用一個類文件,可以在imort後面指明類的包路徑即可。如:假設你的包是com/test/xxx,那麼就寫成<%@ page import="com.test.xxx"%>.
經實測,其實如果你不寫這條指示元素,也可以引用一個類。但是你在使用這個類的時候,要加個它的完整的包名。像這樣, com.test.xxx stu = new com.test.xxx();
總結: 在jsp指令中,import屬性主要是來導入要使用的類,不導入也能使用,但是要使用完整的包名。
二. <%@ include file="文件相對的url地址"%>
通過查看,過查看jsp編譯的java文件,其實它是把別的文件內容插入到當前文件中來。運行的時機是在編譯的時候。
總結:include屬於靜態包含。也就是在編譯的進修包含到當前的文件中來。
三. <jsp:include page="">和<c:import url="">的區別
前者是動作標簽,後者是jstl標簽。都是動態載入。但是c:import則更為靈活。jsp:include只能include當前web app下的頁面,而c:import則可以從外部容器載入內容。
過查看jsp編譯的java文件,動態標簽編譯後生成的java 文件主要是用運行時庫調用 。
❼ jsp的<%@include和<jsp:include>的問題
舉個例子,你現在的index.jsp,要包含一個文件abc.jsp.
- 首先,<%@include file="abc.jsp" %> 這個是include directive
如果,你選用這個include,那麼意味著,abc.jsp里的所有Java,HTML代碼原封不動的都被復制粘貼到當前的文件。和你手動復制粘貼效果是一樣。這個的作用就是省了復制粘貼的功夫了。當訪問index.jsp的時候,這個request(請求),是一次性完成。
- 其次,
<jsp:include page="abc.jsp" flush="true">
<jsp:param name="name" value="abc" />
</jsp:include>
這個是include action, 或叫include tag。當你使用這個的時候,意味著你訪問abc.jsp,然後把abc.jsp輸出的HTML(注意,和在IE里看到的HTML是一樣)全部放到你include的位置。當訪問index.jsp的時候,這個request(請求),是用戶先請求index.jsp,然後伺服器再自動請求abc.jsp,合成最終的index.jsp,然後response(回應)給客戶端。
- 二者比較:
1. 二者一個是直接包含原代碼,一個是包含請求出的HTML。
2. 用<jsp:include>的話,如果abc.jsp里有response.redirect("")或者response.addCookie("")等等關於response的操作,都回被忽視。也就是說用戶不回被送到另一個頁面。
但此時用<%@include>的話,abc.jsp里所有動response的操作都會正常運行。
3. 用<jsp:include>因為它是向abc.jsp發送一個請求,所以請求可包含<jsp:param>,就是parameter(參數)。
若用<%@include>,就不可以加參數。
4. 速度上,<%@include>會快一些,因為他只是處理一個請求。而<jsp:include>是處理兩個請求,所以慢一點。
5. <jsp:include page="http://www.google.com/search?q=abc" />這樣都可以,相當於把有HTML包含。
但在<%@include file="abc.jsp" />中,只可以包含你自己網站里的原始代碼,也就是說abc.jsp必須存在,若不存在,會出現Compilation Error(編譯錯誤)。
6. 使用上<%@include>比較常用,一般用於檢測用戶是否登陸,或者網站的LOGO,網站的一些靜態不變的信息。
<jsp:include>一般用於發送一個請求,並接受所回應的HTML。可以加入Parameter(參數)。
具體請看Sun 的Documentation
<jsp:include>
http://java.sun.com/procts/jsp/tags/11/syntaxref1112.html
❽ jsp:include能控制顯示或隱藏嗎
不可以的
include指令是指把其它頁面的JAVA代碼(源碼)加進來,跟本頁面的代碼合並在一起版,相當於把權源碼從那個頁面復制到本頁面中來,然後再編譯。所以變數可以共用。並用由於本頁面編譯時已經包含了別的文件的源碼,所以以後其它頁面更改時,本頁面並不理會,因為已經編譯過了。
<jsp:include>動作是指兩個頁面的代碼運行完以後,再把包含的那個頁面運行後的HTML結果頁面加到本頁面運行後的HTML結果頁面中來。所以變數不能共用。
❾ JSP include問題求助大神
jsp:include頭部的抄寫法:
jsp:include動作是在主頁面被請求時,將次級頁面的輸出包含進來。盡管被包含的頁面的輸出中不能含有JSP,但這些頁面可以是其他資源所產生的 結果。伺服器按照正常的方式對指向被包含資源的URL進行解釋,因而這個URL可以是Servlet或JSP頁面。伺服器以通常的方式運行被包含的頁面, 將產生的輸出放到主頁面中,這種方式與RequestDispatcher類的include方法一致。它的優點是在被包含的頁面發生更改時,無須對主頁 面做出修改。它的缺點是所包含的是次級頁面的輸出,而非次級頁面的實際代碼,所以在被包含的頁面中不能使用任何有可能在整體上影響主頁面的JSP構造。
語法: <jsp:include page="sample.jsp" flush="true"> <jsp:param name="name" value="value"/> </jsp:include>
其中參數設置可以沒有,如果沒有參數設置,則必須採用<jsp:include page="sample.jsp" flush="true"/>形式
❿ jsp的include標簽
JSP中的include的兩種用法
1.兩種用法
<%@ include file=」 」%>
<jsp:include page=」 」 flush=」true」/>
2.用法區別
(1)執行時間上區別
<%@ include file=」relativeURI」%> 是在翻譯階段執行
<jsp:include page=」relativeURI」 flush=」true」 /> 在請求處理階段執行.