您的位置:首页 > Web前端 > HTML

html中base标签的作用及使用方法

2014-12-23 11:23 363 查看
今天看代码的时候里面有一段如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

  <head>

    <base href="<%=basePath%>">

    <title>资源库登录</title>

.....
于是上网查了一下,看到一篇文章很好,就记下来了。
文章如下:(转载自:http://blog.csdn.net/cowmich/article/details/8122755)
base标记是一个基链接标记,是一个单标记。用以改变文件中所有连结标记的参数内定值。它只能应用于标记<head>与</head>之间。

你网页上的所有相对路径在链接时都将在前面加上基链接指向的地址。
 
base 元素可规定页面中所有链接的基准 URL

我们可以使用 <base>标签中的href属性来设置,所有的“相对基准 URL”。
 
这是JSP端的代码

采用了html文件中的 <base>标签:

代码如下:

<%

String path = request.getContextPath();

// 获得项目完全路径(假设你的项目叫myWork,那么获得到的地址就是 http://localhost:8080/myWork/):

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
// 将 "项目路径basePath" 放入pageContext中
%>

<html>

<head>

<base href=" <%=basePath%>">
//base只能应用于标记<head>与</head>之间

</head>

// 这里我们就可以直接使用相对路径(即: 相对于base标签)

<a href="jsp/login.jsp">Login </a>

</html>

当我们去执行上面的那段JSP代码后,我们可以在浏览器中可以查看,他所返回给客户端的html代码:

执行完上述JSP后,所返回的html代码如下:

<html>

<head>

<base href="http://localhost:8080/myWork/">

</head>

// 设置了 <base>后,相对路径,相对于的就是base中的路径,而不再是浏览器地址的请求路径啦~~~

<a href="jsp/login.jsp">Login </a>

</html>
我们可以看到JSP返回的html代码中,包含了 <base href="http://localhost:8080/myWork/">内容。

也就是说,在本html文件中,遇到的所有 “相对链接(例如: <a href="jsp/login.jsp">)”,都是相对于base

的路径(即:http://localhost:8080/myWork/)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: