亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

使用jsp:include控制動態內容的方法

2024-09-05 00:22:25
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了使用jsp:include控制動態內容的方法,結合實例較為詳細的分析了JSP中include偽指令的功能、定義及使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了使用jsp:include控制動態內容的方法。分享給大家供大家參考,具體如下:

清單 1. JSP include 偽指令

 

 
  1. <![CDATA[ 
  2. <%@ page language="java" contentType="text/html" %> 
  3. <html> 
  4. <head> 
  5. <title>newInstance.com</title> 
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
  7. <link href="/styles/default.css" rel="stylesheet" type="text/css" /> 
  8. </head> 
  9. <body> 
  10. <%@ include file="header.jsp" %> 
  11. <%@ include file="navigation.jsp" %> 
  12. <%@ include file="bookshelf.jsp" %> 
  13. <%@ include file="/mt-blogs/index.jsp" %> 
  14. <%@ include file="footer.jsp" %> 
  15. </body> 
  16. </html> 
  17. ]]> 

雖然 include 非常適于將靜態內容并入 Web 頁面,但對于動態內容卻不盡如人意。我們在前一篇文章中在試圖重新裝入高速緩存文件時發現了這一問題。與大多數頁眉文件及頁腳文件不同,動態內容變化頻繁,必須時刻更新。我們將首先扼要地重述一下 include 偽指令的局限性,然后我將向您演示如何用 jsp:include 標記來擴展 JSP 的包含能力。

高速緩存問題

JSP include 偽指令的不足之處有一個是:它會導致 Web 瀏覽器高速緩存所有頁面。在處理諸如頁腳、版權聲明或一組靜態鏈接之類的靜態組件時,這是有意義的。這些文件不會改變,因此沒有理由讓 JSP 解釋器不斷地重新輪詢其中的數據。凡是可能的地方,都應該實現高速緩存,因為它改善了應用程序的性能。

但是,有時侯,進行高速緩存會得不償失。如果提入的內容來自使用動態數據(如 Weblog 或數據庫驅動的 JSP 文件)的程序,甚至如果所包含的內容是經常變化的 HTML(如時間戳記),那么每當裝入 Web 頁面時,都需要顯示這些文件或程序的最新版本。遺憾的是,JSP include 偽指令并不具備這一功能。在測試和開發周期(請參閱側欄“ JSP 測試和開發”)中,在瀏覽器中禁用高速緩存通常能夠解決這一問題。但是,對于實際使用的應用程序而言,性能是任何設計決策過程中的一項重要因素,禁用高速緩存并不是一種可行的長遠之計。更好的解決方案是使用 jsp:include 標記。

jsp:include 標記

jsp:include 只不過是一個不同于 include 的偽指令而已。 jsp:include 的優點在于:它 總是會檢查所含文件中的變化。過一會兒我們將研究這一新標記的工作方式。但首先看一下兩種 include 各自的代碼,以便能夠看到二者之間的異同。

清單 2 顯示了一個簡單頁面,它使用了原始的 JSP include 偽指令。

清單 2. JSP include 偽指令

 

 
  1. <![CDATA[ 
  2. <%@ page language="java" contentType="text/html" %> 
  3. <html> 
  4. <head> 
  5. <title>JSP include element test</title> 
  6. </head> 
  7. <body> 
  8. This content is statically in the main JSP file.<br /> 
  9. <%@ include file="included.html" %> 
  10. </body> 
  11. </html> 
  12. ]]> 

清單 3 是同一個頁面,只不過這里轉成使用 jsp:include 標記。

清單 3. 轉成使用 jsp:include

 

 
  1. <![CDATA[ 
  2. <%@ page language="java" contentType="text/html" %> 
  3. <html> 
  4. <head> 
  5. <title>JSP include element test</title> 
  6. </head> 
  7. <body> 
  8. This content is statically in the main JSP file.<br /> 
  9. <jsp:include page="included.html" flush="true" /> 
  10. </body> 
  11. </html> 
  12. ]]> 

您應該注意這兩種代碼類型之間的兩大區別。首先, jsp:include 元素不使用屬于 include 偽指令的 %@ 語法。實際上, jsp 前綴讓 JSP 編譯器知道:它應該尋找標準 JSP 標記集中的元素。其次,指定要包含的文件的屬性從 file 變成了 page 。如果愿意,可以自己測試一下新標記的結果。只需更改上一篇文章(請參閱 參考資料)中 included.html 文件的內容,然后重新裝入瀏覽器頁面,就會立即看到新內容。

jsp:include 是如何工作的

如果您有點愛刨根問底,那么可能十分想知道 jsp:include 標記的行為為什么與 include 偽指令不同。道理其實十分簡單: jsp:include 包含的是所包含 URI 的 響應,而不是 URI 本身。這意味著:對所指出的 URI 進行 解釋,因而包含的是 生成的響應。如果頁面是 HTML,那么將得到一點也沒有變化的 HTML。但是,如果是 Perl 腳本、Java servlet 或者 CGI 程序,那么得到的將是從該程序解釋而得的結果。雖然頁面通常就是 HTML,但實際程序恰好是達到目的的手段。而且,由于每次請求頁面的時候都會進行解釋,因此從來不會象使用 include 偽指令時那樣高速緩存結果。雖然這只是很小的變動,但它卻導致了您所見到的行為中的全部差異。

一種混合搭配的解決方案

include 偽指令在某些網站上有其用武之地。例如,如果站點包含一些(如果有變化,也很少)幾乎沒有變化的頁眉、頁腳和導航文件,那么基本的 include 偽指令是這些組件的最佳選項。由于 include 偽指令采用了高速緩存,因此只需放入包含文件一次,其內容就會被高速緩存,其結果會是極大地提高了站點的性能。

然而,對于現在許多 Web 應用程序或站點而言,地毯式的高速緩存并不能解決問題。雖然頁眉和頁腳可能是靜態的,但是不可能整個站點都是靜態的。例如,從數據庫提取導航鏈接是很常見的,并且許多基于 JSP 技術的站點還從其它站點或應用程序上的動態 JSP 頁面提取內容。如果正在處理動態內容,那么需要采用 jsp:include 來處理該內容。

當然,最好的解決方案是經常把這兩種方法混合搭配使用,將每種構造用到最恰當的地方。清單 4 是混合搭配包含解決方案的一個示例。

清單 4. 混合搭配解決方案

 

 
  1. <![CDATA[ 
  2. <%@ page language="java" contentType="text/html" %> 
  3. <html> 
  4. <head> 
  5. <title>newInstance.com</title> 
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
  7. <link href="/styles/default.css" rel="stylesheet" type="text/css" /> 
  8. </head> 
  9. <body> 
  10. <jsp:include page="header.jsp" flush="true"
  11. <jsp:param name="pageTitle" value="newInstance.com"/> 
  12. <jsp:param name="pageSlogan" value=" " /></jsp:include> 
  13. <%@ include file="/navigation.jsp" %> 
  14. <jsp:include page="bookshelf.jsp" flush="true" /> 
  15. <jsp:include page="/mt-blogs/index.jsp" flush="true" /> 
  16. <%@ include file="/footer.jsp" %> 
  17. </body> 
  18. </html> 
  19. ]]> 

上面的代碼顯示了前面文章中的示例索引頁面。導航鏈接和頁腳是靜態內容,一年最多更改一次。對于這些文件,我使用了 include 偽指令。內容窗格包含 Weblog 和“bookshelf”組件,它們是動態生成的。這兩個組件需要一直更新,因此對它們,我使用了 jsp:include 標記。 header.jsp 文件有點奇怪。這個組件是從另一個本質上是靜態的 JSP 頁面提取的。但是,正如您將注意到的那樣,它從包含頁提取頁“標語”,然后將它顯示出來。要處理這一共享信息,我們必須向頁眉文件傳入參數。而要處理那些參數,就必須使用 jsp:include 元素。

希望本文所述對大家jsp程序設計有所幫助。


注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美体内谢she精2性欧美| 欧美韩日一区二区| 成人国产精品色哟哟| 日韩欧美成人精品| 欧美电影免费观看电视剧大全| 欧美大人香蕉在线| 欧洲午夜精品久久久| 国产午夜精品麻豆| 久久视频在线观看免费| 亚洲午夜久久久影院| 91av在线精品| xx视频.9999.com| 中文字幕国产日韩| 精品久久久香蕉免费精品视频| 性色av一区二区三区在线观看| 欧美一级大片在线免费观看| 国产免费一区二区三区在线观看| 欧美精品性视频| 国产精品久久久久久久久| 国产精品草莓在线免费观看| 日韩欧美精品网站| 中文字幕亚洲激情| 亚洲天堂男人天堂女人天堂| 久久婷婷国产麻豆91天堂| 久久久免费av| 中日韩美女免费视频网站在线观看| 九九热99久久久国产盗摄| 亚洲国产成人精品久久久国产成人一区| 欧美乱大交做爰xxxⅹ性3| 国内久久久精品| 国产精品一区二区三区毛片淫片| 亚洲国产精品99久久| 久久久久国产精品免费网站| 深夜福利国产精品| 久久久伊人欧美| 国产成人av网| 超碰日本道色综合久久综合| 亚洲色图校园春色| 亚洲精品永久免费精品| 欧美孕妇性xx| 最近中文字幕mv在线一区二区三区四区| 欧美大片va欧美在线播放| 国产91精品最新在线播放| 国产午夜精品视频免费不卡69堂| 欧美激情va永久在线播放| 91麻豆国产语对白在线观看| 国内精品模特av私拍在线观看| 欧美www在线| 欧美成人免费一级人片100| 久久久久久久久久久免费| 亚洲精品久久久久中文字幕欢迎你| 亚洲国产成人av在线| 日韩精品极品视频| 欧美成人黄色小视频| 欧美孕妇与黑人孕交| 91久热免费在线视频| 日韩国产在线播放| 亚洲精品国产福利| 欧美性受xxxx白人性爽| 欧美日韩福利在线观看| 日韩精品一区二区三区第95| 亚洲国产日韩欧美综合久久| 欧美激情伊人电影| 亚洲成人a级网| 久久人人97超碰精品888| 亚洲理论在线a中文字幕| 亚洲天堂av在线免费观看| 最近的2019中文字幕免费一页| 日韩欧美高清在线视频| 国产一区二区三区毛片| 欧美一级高清免费| 日韩中文娱乐网| 久久在线观看视频| 国产999精品久久久影片官网| 欧美肥臀大乳一区二区免费视频| 亚洲精品一二区| 国产亚洲精品久久久久久牛牛| 国产精品日韩电影| 北条麻妃一区二区三区中文字幕| 亚洲精品久久7777777| 91香蕉电影院| 亚洲精品视频久久| 欧美在线一区二区视频| 欧美黑人性生活视频| 欧美精品www在线观看| 亚洲自拍偷拍视频| 日韩一二三在线视频播| 亚洲精品免费网站| 亚洲性av网站| 色综合久久精品亚洲国产| 黑丝美女久久久| 国产精品爽爽ⅴa在线观看| 海角国产乱辈乱精品视频| 久久久精品999| 久久亚洲一区二区三区四区五区高| 久久这里只有精品视频首页| 中文字幕亚洲一区二区三区| 国内精品久久久久| 最新69国产成人精品视频免费| 日韩美女写真福利在线观看| 亚洲人成电影网站色www| 91精品国产色综合久久不卡98口| 国产精品白丝jk喷水视频一区| 国产香蕉一区二区三区在线视频| 97视频在线播放| 亚洲欧美日韩国产中文| 国产成+人+综合+亚洲欧洲| 91精品久久久久久久久中文字幕| 国产成人在线一区二区| 欧美高清在线播放| 国产亚洲aⅴaaaaaa毛片| 国产精品视频导航| 亚洲一二三在线| 欧美黑人国产人伦爽爽爽| 亚洲激情视频在线播放| 成人久久一区二区| 欧美电影免费观看高清| 一区二区三区视频在线| 精品国产一区二区三区四区在线观看| 欧美另类精品xxxx孕妇| 97超级碰碰碰| 国产精品视频1区| 成人久久一区二区| 久久亚洲国产精品| 91精品啪在线观看麻豆免费| 欧美日韩国产在线播放| www.欧美三级电影.com| 国产精品视频一区国模私拍| 黄色成人av网| 欧美日韩午夜剧场| 日韩欧美在线网址| 成人精品一区二区三区| 国产裸体写真av一区二区| 这里只有精品视频在线| 欧美精品久久一区二区| 日韩在线观看免费网站| 国产一区二区三区在线观看网站| 久久影视免费观看| www高清在线视频日韩欧美| 精品国产成人av| 国产精品久久久久久影视| 少妇激情综合网| 中文字幕免费精品一区高清| 日韩a**站在线观看| 一本色道久久88综合亚洲精品ⅰ| 在线精品国产成人综合| 97国产精品视频| 色综合久久天天综线观看| 68精品国产免费久久久久久婷婷| 91精品久久久久久久久不口人| 69视频在线免费观看| 一区二区三区四区视频| 一本色道久久综合狠狠躁篇怎么玩| 中文字幕亚洲一区| 1769国内精品视频在线播放| 亚洲欧美在线第一页| 日韩视频免费在线观看| 欧美成年人视频网站| 日韩视频中文字幕| 日本中文字幕久久看| 亚洲一区二区中文字幕| 国产精品日韩电影| 国产91精品黑色丝袜高跟鞋| 国产精品视频最多的网站|