JSP分頁檔中base標記用法執行個體分析_JSP編程

來源:互聯網
上載者:User

本文執行個體分析了JSP分頁檔中base標記用法。分享給大家供大家參考,具體如下:

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

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

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

base標記是一個基連結標記,是一個單標記。用以改變檔案中所有連結標記的參數內定值。它只能應用於標記<head>與</head>之間。你網頁上的所有相對路徑在連結時都將在前面加上基連結指向的地址。

重要屬性:

href---設定首碼的連結地址

target---設定檔案顯示的視窗,同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>

當點了連結後,跳出的檔案是http://localhost/x.htm或http://localhost/y.htm,它就是在這些相對路徑的檔案前加上基連結指向的地址。如果目標檔案中的連結沒有指定target屬性,就用base標記中的target屬性。

常在架構結構中用,如左右兩個架構,把左邊的架構中檔案裡的串連都顯示在右邊的架構裡。只要用base標記,把其target屬性值寫為右架構名稱,這就不用再為左架構裡的檔案中的每一個串連都指定target屬性。

當使用時,BASE 元素必須出現在文檔的 HEAD 內,在任何對外部源的引用之前。

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

複製代碼 代碼如下:
<url-pattern>/servlet/TestServlet</url-pattern>

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

複製代碼 代碼如下:
<script type="text/javascript" src="<%=path%>/script/check.js"></script>

希望本文所述對大家JSP程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.