Js引用资源路径问题

     方式一:

    在jsp文件中获取根路径:


    <%    String basePath = request.getContextPath();  %>

    在单独的Js文件中不能使用<%= basePath %>类似这样的,但可以通过在Jsp页面引入Js变量来解决路径问题:

    <script type="text/javascript">

         var basePath ="<%=basePath %>"; //只能放在Jsp页面中获取,这样单独的Js文件就能使用basePath 了。

    </script>


   方式二:

    在网上看到有小伙伴在Js代码中采用如下方式实现。

   var localObj = window.location;

   var contextPath = localObj.pathname.split("/")[1];

   var basePath = localObj.protocol+"//"+localObj.host+"/"+contextPath;


   问题:

          这个是我们配置域名前的URL:http://localhost:8080/web-zhongmin/order/

          这是我们配置域名后的URL:http://java2017.zhongmin.cn/order/

          请注意:

          问题就在于端口号后面的"/",方法二的contextPath变量用的是斜杠截取,所以配置域名前拿到了的contextPath web-zhongmin没错,配置后拿到了的是order就无法访问资源了。


   最后,如果没有找到更好的方法前就使用方式一,如果找到了请大神告诉我,我叫小白.......

         

         

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中,使用Thymeleaf模板引擎是一个很方便的选择。然而,在整合过程中,经常涉及到Thymeleaf模板文件中资源文件的路径问题。 通常,Thymeleaf模板引擎默认从classpath:templates目录下加载模板文件,并且假定所有相关的资源文件都在同一个目录下。 如果你的资源文件并非在同一目录下,可以通过在application.properties文件中添加如下配置来指定静态资源文件的路径: ``` spring.thymeleaf.prefix=classpath:/templates/ spring.resources.static-locations=classpath:/static/ ``` 指定Thymeleaf模板文件的路径。在这个例子中,使用的是classpath:templates/路径。如果你的模板存放在其他目录,可以通过修改此路径来指定。 指定静态资源文件的路径,在这个例子中,使用的是classpath:/static/路径。静态资源文件包括css、js和图片等文件。如果你的静态资源文件存放在其他目录,可以通过修改此路径来指定。 通过上述方式配置,即可在Thymeleaf模板文件中使用相应的资源文件路径。 在模板文件中,可以使用th:href指令引用css、js等静态资源,例如: ```html <link rel="stylesheet" th:href="@{css/style.css}" /> ``` 其中,@{xxx}用来表示资源路径,这个路径可以是相对于应用根目录或者是页面所在目录的相对路径。 总之,使用Spring Boot整合Thymeleaf时,只需要设置好资源文件的路径,然后在模板文件中使用合适的路径引用资源文件,就可以避免资源路径问题了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值