`
孤独水寒cbq
  • 浏览: 15298 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jsp及js中获取项目上下文路径

阅读更多

       实际使用中,我们发现在JSP中的有时用到 "相对路径",但有时可能会出现问题。多次转发之后的相对路径会发生改变,因为它是相对于 "URL请求地址" 寻找的相对路径。

       鉴于上面的情况,总结一下几种方法解决。

 

      1.直接使用绝对路径

     <%

         //项目上下文路径
         String path = request.getContextPath();
         String basePath =                 

         request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 

         //放入pageContext中
         pageContext.setAttribute("basePath",basePath);
     %>

     使用示例:<html><a href="${pageScope.basePath}jsp/index.jsp"></a></html>

 

        2.c标签设置动态参数(推荐)

        <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

        <c:set var="basePath"

          value="${pageContext.request.scheme}://${pageContext.request.serverName}:

          ${pageContext.request.serverPort}${pageContext.request.contextPath}" />

        使用示例:<html><a href="${basePath}/jsp/index.jsp"></a></html>

 

        3.js中获取项目上下文路径

        function getContextPath() {
           var contextPath = document.location.pathname;
           var index = contextPath.substr(1).indexOf("/");
           contextPath = contextPath.substr(0, index + 1);
           delete index;
           return contextPath;
       }

 

       

 

 

 

 

分享到:
评论

相关推荐

    IBM WebSphere Portal门户开发笔记01

    26、EJPAS0012E: 属性页面已启动(不带任何上下文信息) 133 27、详细内容页面展现的BODY内容间隙太大 134 28、修改默认应用编写模板 135 29、使用导出与导入WCM内容库的方式来部署WCM 135 30、命令EXPORT/IMPORT...

    JAVA上百实例源码以及开源项目源代码

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    JAVA上百实例源码以及开源项目

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    java源码包2

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    java源码包---java 源码 大量 实例

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    java源码包3

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    java源码包4

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

Global site tag (gtag.js) - Google Analytics