本文實例分析了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程序設計有所幫助。
❷ jsp如何動態向head中加入標簽
為什麼要向head中加入標簽呢?有意義嗎?
<script type="javascript">
document.getElementsByTagName("head").InnerHTML="<>寫上想加的標簽就行了</>";
</script>
但是JS就不能寫在head里了,否則就會被改掉
❸ 在jsp里的<meta http-equiv="Content-Type" content="text/html; charset=gb2312">的意思
meta標記的作用是向搜索引擎提供有關此網頁的一些相關信息,其主要是放在<head>標記內,它是專一個非常重要屬的標記,譬如它可以用來鑒別作者、設定頁面格式、標注內容提要和關鍵字以及刷新頁面等。幾乎所有的網頁里都可以看到類似這段html代碼。
現在我來解釋一下你給出的問題的各個代碼的意思:
http-equiv 這個屬性主要是回應給瀏覽器一些有用的信息,以便正常的顯示網頁內容。它包含很多屬性,不單單是」Content-Type」屬性,那麼Content-Type的屬性是表示設定頁面使用的語言。
name屬性:雖然你給出的代碼裡面沒有name這個屬性,但是name屬性在這里也是很重要的,name屬性可以設置網頁的作者,關鍵字,搜索引擎機器人向導等
content屬性主要根據http-equiv屬性來指定對應的content的屬性值,它可以包含的值也有很多,對應著name屬性的改變
charset屬性:這個是設置頁面的語言的,gb2312是表示的語言是中文,如果你要使用英文語言,可以使用charset=iso-8859-1
其實還有很多屬性,這里就不一一說明了,有需要知道其他的,站內pm我也行
❹ 在JSP中如何包含一個靜態頁面
JSP中的兩種包含靜態頁面的方法
第一種:include指令:當JSP轉換成Servlet時引入指定文件
<%@pagecontentType="text/html;charset=GB2312"language="java"errorPage=""%>
<%@includefile="head.jsp"%>
<%@includefile="body.jsp"%>
<%@includefile="tail.jsp"%>
第二種:<jsp:include>動作元素:當JSP頁面被請求時引入指定文件
<%@pagecontentType="text/html;charset=GB2312"language="java"errorPage=""%>
<jsp:includepage="head.jsp"/>
<jsp:includepage="body.jsp"/>
<jsp:includepage="tail.jsp"/>
第二種方法可以很方便的用<jsp:param>來向所包含頁傳遞參數,方法如下:
<%@pagecontentType="text/html;charset=GB2312"language="java"errorPage=""%>
<jsp:includepage="head.jsp"/>
<jsp:includepage="body.jsp">
<jsp:paramname="uid"value="username"/>
<jsp:paramname="pwd"value="password"/>
</jsp:include>
<jsp:includepage="tail.jsp"/>
❺ 在jsp中怎樣加入css樣式
在jsp中加入css樣式,就跟html加入的方式一樣,具體有以下三種方式:
1、 外部樣式內
當樣式需要應用容於很多頁面時,外部樣式表將是理想的選擇。在使用外部樣式表的情況下,你可以通過改變一個文件來改變整個站點的外觀。每個頁面使用<link>標簽鏈接到樣式表。<link>標簽在(文檔的)頭部:
<head>
<link rel="stylesheet" type="text/css" href="path/myCss.css"/>
</head>
2、內部樣式
當單個文檔需要特殊的樣式時,就應該使用內部樣式表。可以使用<style>標簽在文檔頭部定義內部樣式表。
<head>
<style type="text/css">
樣式
</style>
</head>
3、內聯樣式
當樣式僅需要在一個元素上應用一次時, 要使用內聯樣式,你需要在相關的標簽內使用樣式(style)屬性。Style屬性可以包含任何CSS屬性。由於要將表現和內容混雜在一起,內聯樣式會損失掉樣式表的許多優勢。請慎用這種方法
<div style="width:100px"></div>
內聯樣式的優先順序最高,其次是內部樣式,外部樣式的優先順序是最低的。
❻ 如何在jsp頁面添加css樣式
在jsp頁面添加css樣式的方法:
和html加入的方式一樣,在head標簽之內,title標簽之外寫<style></style>開閉標簽,具體樣式內容寫到開閉標簽之內。示例如下:
<head>
<title></title>
<style>.input{ color:#f00;}</style>
</head>
其中,<style>.span{ color : red;}</style>表示將span標簽的內容置為紅色。
(6)jsphead什麼擴展閱讀
上述加css樣式的方法是內部樣式,除了內部樣式還有外部樣式和內聯樣式。內聯樣式的優先順序最高,其次是內部樣式,外部樣式的優先順序是最低的。
1、 外部樣式
當樣式需要應用於很多頁面時,外部樣式表將是理想的選擇。在使用外部樣式表的情況下,可以通過改變一個文件來改變整個站點的外觀。每個頁面使用<link>標簽鏈接到樣式表。<link>標簽在(文檔的)頭部,例如:
<head>
<link rel="stylesheet" type="text/css" href="path/linkcss.css"/>
</head>
2、內聯樣式
當樣式僅需要在一個元素上應用一次時, 要使用內聯樣式,需要在相關的標簽內使用樣式(style)屬性。Style屬性可以包含任何CSS屬性。由於要將表現和內容混雜在一起,內聯樣式會損失掉樣式表的許多優勢。例如:
<span style="hight:1000px"></span>