本文實(shí)例分析了JSP頁(yè)面文件中base標(biāo)記用法。分享給大家供大家參考,具體如下:
我們?cè)谟肐DE工具生成JSP頁(yè)面時(shí)通常都包含下面的兩段代碼,
% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> head> base href="%=basePath%>"> /head>
它們絕對(duì)不是無(wú)用代碼,詳細(xì)如下:
base標(biāo)記是一個(gè)基鏈接標(biāo)記,是一個(gè)單標(biāo)記。用以改變文件中所有連結(jié)標(biāo)記的參數(shù)內(nèi)定值。它只能應(yīng)用于標(biāo)記head>與/head>之間。你網(wǎng)頁(yè)上的所有相對(duì)路徑在鏈接時(shí)都將在前面加上基鏈接指向的地址。
重要屬性:
href---設(shè)定前綴的鏈接地址
target---設(shè)定文件顯示的窗口,同a標(biāo)記中的target
簡(jiǎn)單例子:
html> head> base href=http://localhost target="_blank"> meta http-equiv="Content-Type" content="text/html; charset=gb2312"> title>base標(biāo)記/title> link rel="Shortcut Icon" href="ani.CUR"> /head> body> a href="x.htm" target="_self">x.html/a> a href="y.htm">y.html/a> /body> /html>
當(dāng)點(diǎn)了鏈接后,跳出的文件是http://localhost/x.htm或http://localhost/y.htm,它就是在這些相對(duì)路徑的文件前加上基鏈接指向的地址。如果目標(biāo)文件中的鏈接沒(méi)有指定target屬性,就用base標(biāo)記中的target屬性。
常在框架結(jié)構(gòu)中用,如左右兩個(gè)框架,把左邊的框架中文件里的連接都顯示在右邊的框架里。只要用base標(biāo)記,把其target屬性值寫(xiě)為右框架名稱(chēng),這就不用再為左框架里的文件中的每一個(gè)連接都指定target屬性。
當(dāng)使用時(shí),BASE 元素必須出現(xiàn)在文檔的 HEAD 內(nèi),在任何對(duì)外部源的引用之前。
另外,如果頁(yè)面轉(zhuǎn)向某個(gè)Servlet,而Servlet里又是forward到的某個(gè)jsp頁(yè)面,如果這時(shí)寫(xiě)相對(duì)路徑就應(yīng)該先找到Servlet的路徑,也就是web.xml中配置的url-pattern中的路徑,如:假設(shè)有個(gè)x.jsp放在webapplication根目錄下,而主頁(yè)index.jsp是提交到servlet上去的,由Serlet來(lái)分發(fā)forward到x.jsp,Servlet的url配置如下:
那么Servlet完成forward轉(zhuǎn)向后,如果沒(méi)有base href="%=basePath%>"> x.jsp中script type="text/javascript" src="script/check.js">/script>就會(huì)失效,因?yàn)镾ervlet的訪(fǎng)問(wèn)路徑為http://localhost/webapp/servlet/TestServlet那么web服務(wù)器會(huì)到http://localhost/webapp/servlet/script/下去找check.js此時(shí)這里肯定是沒(méi)有這個(gè)文件的,所以,如果遇到這樣的情況建議使用絕對(duì)路徑就不會(huì)有錯(cuò)
希望本文所述對(duì)大家JSP程序設(shè)計(jì)有所幫助。
標(biāo)簽:銅川 開(kāi)封 自貢 烏蘭察布 臨汾 白銀 山南 吉林
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP頁(yè)面文件中base標(biāo)記用法實(shí)例分析》,本文關(guān)鍵詞 JSP,頁(yè)面,文件,中,base,標(biāo)記,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。