主頁 > 知識庫 > jsp頁面中引用其他頁面的簡單方法

jsp頁面中引用其他頁面的簡單方法

熱門標簽:如何看懂地圖標注點 給地圖標注得傭金 海外圖書館地圖標注點 外呼系統(tǒng)使用方法 電話機器人需要使用網(wǎng)絡(luò)嗎 潤滑油銷售電銷機器人 南通通訊外呼系統(tǒng)產(chǎn)品介紹 自繪地圖標注數(shù)據(jù) 電銷機器人免培訓(xùn)

初看這個標題....大家的感覺一定是好2啊.....博主一定要說jsp的動態(tài)引用(jsp:include)和靜態(tài)引用(@include)了。介紹這兩者區(qū)別的文章已經(jīng)爛大街了。。一搜一大把。。博主竟然還來介紹這些老古董。。果斷alt+F4。。。

如果你確實是這么想的。。。那請先別急著關(guān)閉頁面。。。今天我來分享一下自己的理解,算是對爛大街的東西的一點補充吧。。。(后面文字會比較啰嗦)

首先先說明下為什么會去討論這個話題。

我在寫自己的博客程序的時候(blogv2.labofjet.com),程序中的目錄是需要讀取數(shù)據(jù)庫中的數(shù)據(jù)的,而這個目錄是要被多個頁面引用的。這個時候該怎么辦呢。

我那個時候用的是靜態(tài)引用,在jsp頁面中通過%@include file="menu.jsp"%>引用這個目錄的jsp頁面片段(單獨為目錄做了一個jsp),缺點在于通過不同Controller跳轉(zhuǎn)到不同的page的時候只要這個page包含目錄的HTML片段,Controller里就需要去調(diào)用目錄的dao的方法,然后去給request設(shè)置值,這樣才能正常顯示目錄頁面。

后來我想了想,我覺得最好能寫一個servlet,訪問這個servlet的url,就能得到目錄的HTML片段,然后在不同的頁面中,只要加載這個url就相當于加載了目錄的HTML片段。這樣的好處在于不同的controller里不再需要調(diào)用目錄的dao了,只要有一個專門的目錄Controller來處理目錄的dao并設(shè)置request然后返回目錄的page就行了。然后我就想到了jsp:include。。。。

然后我就百度了一下爛大街的東西。大部分文章都一個意思,jsp:include可以引用jsp,并動態(tài)編譯。。blablabla。。。可是它們都沒有說明jsp:include可不可以引用servlet呢?我們現(xiàn)在不會去把邏輯放到j(luò)sp中的,一般都是放到servlet中然后再跳轉(zhuǎn)到j(luò)sp中吧。經(jīng)過試驗我發(fā)現(xiàn)是可以的。但是有一些地方比較坑爹。。。。。需要注意。。。

jsp:include引用jsp的時候完全OK,就是網(wǎng)上大部分文章介紹的內(nèi)容。

jsp:include引用servlet的時候,這個servlet需要在web.xml里配置過,不然eclipse會給紅色波浪線。

不知道大家看了上面的總結(jié)有沒有產(chǎn)生一個新的問題:現(xiàn)在我們寫程序的時候都用一些框架,比如SpringMVC,我們沒有在web.xml為每個Servlet單獨配置,而是通過SpringMVC自己的配置文件去配置這些Controller(Servlet)的。那么jsp:include還能用嗎?

答案是可以的。。。。但是很坑。。??泳涂釉趀clipse里還是會劃紅線,eclipse覺得找不到這個url對應(yīng)的servlet,但是實際上是可以訪問的。

另外還有個小問題,可能是我自己沒設(shè)置對,我每次jsp:include的時候console里都會報java.io.IOException: Stream closed這個異常,我覺得可能是引用其他servlet的時候其他的servlet自動調(diào)用了out的close方法,導(dǎo)致包含其他page的page的內(nèi)容不能被正常輸出。。。。這個問題我沒繼續(xù)研究下去。。。。我想肯定是有解決辦法的,但是不是我這篇文章要討論的重點。

這么說的話現(xiàn)在就有2個小問題了:一個異常,一個eclipse的紅線報錯。。。雖然也能用,但是讓人很不爽。。

所以就找一個替代方法吧。。那就是jstl的c:import

這個標簽其實超級簡單的。。。比如我把目錄HTML片段對應(yīng)的url設(shè)置成了/menu,那我在包含目錄的頁面中只要

c:import var="data" url="/menu" />
${data}

就OK了。目錄就被包含到其他頁面中了。。是不是超級簡單呀!

以上這篇jsp頁面中引用其他頁面的簡單方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • jsp中一個頁面引入另一個頁面的實現(xiàn)代碼

標簽:大連 內(nèi)江 黃石 銅川 貸款邀約 南京 廣州 樂山

巨人網(wǎng)絡(luò)通訊聲明:本文標題《jsp頁面中引用其他頁面的簡單方法》,本文關(guān)鍵詞  jsp,頁面,中,引用,其他,頁,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《jsp頁面中引用其他頁面的簡單方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于jsp頁面中引用其他頁面的簡單方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章