欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JSP頁面文件中base標記用法實例分析

 更新時間:2015年10月22日 11:39:03   作者:jerry  
這篇文章主要介紹了JSP頁面文件中base標記用法,以實例形式較為詳細的分析了JSP中base標記的功能與具體使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例分析了JSP頁面文件中base標記用法。分享給大家供大家參考,具體如下:

我們在用IDE工具生成JSP頁面時通常都包含下面的兩段代碼,

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<head>
<base href="<%=basePath%>"> 
</head>

它們絕對不是無用代碼,詳細如下:

base標記是一個基鏈接標記,是一個單標記。用以改變文件中所有連結(jié)標記的參數(shù)內(nèi)定值。它只能應(yīng)用于標記<head>與</head>之間。你網(wǎng)頁上的所有相對路徑在鏈接時都將在前面加上基鏈接指向的地址。

重要屬性:

href---設(shè)定前綴的鏈接地址

target---設(shè)定文件顯示的窗口,同a標記中的target

簡單例子:

<html>
<head>
<base href=http://localhost target="_blank">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>base標記</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)點了鏈接后,跳出的文件是http://localhost/x.htm或http://localhost/y.htm,它就是在這些相對路徑的文件前加上基鏈接指向的地址。如果目標文件中的鏈接沒有指定target屬性,就用base標記中的target屬性。

常在框架結(jié)構(gòu)中用,如左右兩個框架,把左邊的框架中文件里的連接都顯示在右邊的框架里。只要用base標記,把其target屬性值寫為右框架名稱,這就不用再為左框架里的文件中的每一個連接都指定target屬性。

當(dāng)使用時,BASE 元素必須出現(xiàn)在文檔的 HEAD 內(nèi),在任何對外部源的引用之前。

另外,如果頁面轉(zhuǎn)向某個Servlet,而Servlet里又是forward到的某個jsp頁面,如果這時寫相對路徑就應(yīng)該先找到Servlet的路徑,也就是web.xml中配置的url-pattern中的路徑,如:假設(shè)有個x.jsp放在webapplication根目錄下,而主頁index.jsp是提交到servlet上去的,由Serlet來分發(fā)forward到x.jsp,Servlet的url配置如下:

復(fù)制代碼 代碼如下:
<url-pattern>/servlet/TestServlet</url-pattern>

那么Servlet完成forward轉(zhuǎn)向后,如果沒有<base href="<%=basePath%>">   x.jsp中<script type="text/javascript" src="script/check.js"></script>就會失效,因為Servlet的訪問路徑為http://localhost/webapp/servlet/TestServlet那么web服務(wù)器會到http://localhost/webapp/servlet/script/下去找check.js此時這里肯定是沒有這個文件的,所以,如果遇到這樣的情況建議使用絕對路徑就不會有錯

復(fù)制代碼 代碼如下:
<script type="text/javascript" src="<%=path%>/script/check.js"></script>

希望本文所述對大家JSP程序設(shè)計有所幫助。

相關(guān)文章

最新評論