struts"html:base"与html"base"标签详解...
时间:2010-08-11 来源:llsi33
<base href=""/> 标签为页面上的所有链接规定默认地址或默认目标,为标准html标签
<html:base/>为struts标签,页面访问时转换成相应的<base href=""/>标签
====================================================
<html:base/>不是必须的。
它将在输出的html文件的head中添加进类似<base href="http://server:port/requestURI"/>
的东东。
浏览器通过base标签来把当前HTML文件中所有的相对URL转换成绝对URL。
举例如下:
MyView.jsp的内容是
...
<html:base/>
</head>
<body>
<a href="../anotherPage.html" id="aLink">相对URL</a>
</body>
...
我们通过在浏览器中输入http://server:port/context/subpath/MyServlet
MyServlet的View即是MyView.jsp。
那么浏览器将收到如下的内容:
...
<base href="http://server:port/context/subpath/MyServlet" />
</head>
<body>
<a href="../anotherPage.html" id="aLink">相对URL</a>
</body>
...
这样当我们点击相对URL时,浏览器将把base与a通过某种方式连接起来得到
一个绝对的URL,从而把网页转到这个绝对的URL上去.
就上例来说,浏览器得到的连接起来后的URL是:
http://server:port/context/subpath/../anotherPage.html
正常化后成:
http://server:port/context/anotherPage.html
于是最终转到的页面就是正常化后的绝对URL了.
一言以蔽之:
浏览器通过Base标签来把当前文档中的相对URL转成绝对的URL.
如果MyView.jsp的内容是
...
<base href="http://www.163.com/news/index.html"/>
</head>
<body>
<a href="../anotherPage.html" id="aLink">相对URL</a>
</body>
...
那么浏览器点击相对URL将转到http://www.163.com/anotherPage.html
而不是我们期望的http://server:port/context/anotherPage.html
这就是Base的作用
base 标签 -- 定义基URL用于页面的链接与引用
- base标签是单独出现的,<base />
- base标签只能放置在head标签内
- 当使用相对路径定义链接时,可以使用base标签定义基URL解析所有文档中定义的相对路径的URL。
- 属性
- href -- 基URL。
- target -- 链接目标。
- base是document base URI的意思
- 引用网址:http://www.dreamdu.com/xhtml/tag_base/
base标签示例
<head> <base href="http://www.dreamdu.com/" target="_blank"> </head>
使用上面示例代码的html页面中的相对链接,将直接指向基URL http://www.dreamdu.com/,并且使用弹出窗口。
示例代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>HTML base 标签示例</title>
<base href="http://www.dreamdu.com/" target="_blank">
</head>
<body>
<a href="/webbuild/">webbuild</a>
<a href="/xhtml/">HTML</a>
<a href="/css/">CSS</a>
<a href="/javascript/">JavaScript</a>
<p>点击上面链接发现是链接到梦之都的弹出页面。</p>
</body>
</html>
base标签在框架中的使用
base标签通常可以使用在框架链接中,例如
<frameset cols="20%, *"> <frame src="list.html"> <frame src="http://www.dreamdu.com/" name="dreamdupage"> </frameset>
链接页list.html
<head> <base target="dreamdupage"> </head> <a href="http://www.dreamdu.com/webbuild/">webbuild</a> <a href="http://www.dreamdu.com/xhtml/">HTML</a> <a href="http://www.dreamdu.com/css/">CSS</a> <a href="http://www.dreamdu.com/javascript/">JavaScript</a>
通过上面示例可以避免在每个链接中写入target="dreamdupage"
在框架中使用HTML base 标签示例