base标签

 

本文将给大家简述一下在Jsp页面中<base>标签设置全局资源路径的使用,也就是<base>标签 大战 ..和/ 。

先通过以下截图看一下资源文件script和images文件夹与根目录的位置关系。

 

 

大家看清这里scriptimages两个文件夹在Java项目中的位置。

 

 

 

 

 

分别从Tomcat部署后的资源访问情况来看,scriptimages文件夹在项目中的位置。

 

Jsp文件头部键入以下代码,从而获取URL根路径.

 

  1. //getContextPath():返回项目名称  
  2. //getScheme(): Returns the name of the scheme used to make this request, for example, http, https, or ftp.  
  3. //getServerName():返回服务器名称  
  4. //getServerPort():返回服务端口号  
  5. <%  
  6.   String path = request.getContextPath();  
  7.   String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  8. %>  

 

 

从图中我们可以看出,script文件夹在WebRoot目录下,也就是在项目根目录下。<head>标签中直接用<base>标签即可给全局资源路径设置根路径。

 

 

  1. <html>  
  2.     <head>  
  3.            <%--使用<base>标签来处理全局的资源访问路径--%>  
  4.        <base href="<%=basePath %>"/>  
  5.         <meta http-equiv="Content-Type" content="text/html; charset=GB18030">  
  6.         <title>添加物料</title>  
  7.         <link rel="stylesheet" href="style/drp.css" mce_href="style/drp.css">  
  8.         <%--<mce:script src="../script/client_validate.js" mce_src="script/client_validate.js"></mce:script>--%>  
  9.         <mce:script src="script/client_validate.js" mce_src="script/client_validate.js"></mce:script>  
  10.     </head>  

 

 

 

我们平时更多的是使用..来返回上级目录,用..的组合来拼接成项目资源路径,它俩总是成对出现,这样做反而还费力不讨好,经常出现问题。

 

当我们使用<base>标签,从根本路径上解决资源访问问题之后,就不用考虑资源文件夹和根目录的位置关系了,不管是相对还是绝对位置,都只要在写清该文件的路径即可。其实,这也是把繁琐的路径拼写抽象出来,提供了一个简洁的方法来给全局设置一个根路径,避免了拼写疏忽导致某些资源找不到,无法访问。

 

这样<base>标签要比..和/的组合使用效果要好,更加省心。

 

但要注意一点,在javascript代码中,我们是需要这样操作的。因为在javascript中<base>标签是起不到效果的。

 

  1. function addItem() {  
  2.     window.self.location ="<%=basePath %>servlet/basedata/ShowAddItemServlet";  
  3. }  

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值