struts"html:base"与html"base"标签详解

来源:互联网 发布:麻雀网络 编辑:程序博客网 时间:2024/05/01 22:48

<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的作用