<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的作用注意:以上为转载内容,作者没找到target="_self"
就是页面目标即打开方式,直接在本页面打开
如果是_blank就是跳出新窗口!