佳木斯湛栽影视文化发展公司

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

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

熱門標簽:Mysql連接數(shù)設(shè)置 電子圍欄 銀行業(yè)務(wù) 服務(wù)器配置 團購網(wǎng)站 阿里云 Linux服務(wù)器 科大訊飛語音識別系統(tǒng)

初看這個標題....大家的感覺一定是好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就相當(dāng)于加載了目錄的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)代碼

標簽:棗莊 萍鄉(xiāng) 江蘇 衢州 廣元 大理 蚌埠 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標題《jsp頁面中引用其他頁面的簡單方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    木兰县| 来凤县| 桃园市| 临邑县| 尤溪县| 耒阳市| 竹溪县| 南昌县| 镇原县| 乐昌市| 扬中市| 湘西| 长葛市| 石嘴山市| 湖南省| 上饶县| 区。| 东台市| 峨眉山市| 鲜城| 阿瓦提县| 同德县| 金堂县| 寿阳县| 体育| 宜川县| 瓮安县| 衢州市| 柳林县| 吉林省| 盐池县| 关岭| 文昌市| 新平| 兴安县| 青州市| 九龙县| 晋城| 靖江市| 吉安县| 泌阳县|