Springboot前端thymeleaf html页面js,css相对路径引用问题解决

2 篇文章 0 订阅
2 篇文章 0 订阅

怕你们没心思全部看完,直接把解决方案放在最开头吧!

第一种方案:

<!-- 第一种方式:<base> 标签为页面上的所有链接规定默认地址或默认目标,然后你的css或js或src原来是怎么样还是什么样 -->
    <base th:href="@{/}">

第二种方案: 

<!-- 如果不使用base,那么这种方式也是可以的,@{/你的文件路径},缺陷就是每次引用都必须带上th:src="@{/}"这个才能正确引用,具体用什么方式,看你们自己 -->
    <script th:src="@{/js/myjs.js}"></script>

目录结构如下:

login.html:这里命名为login不用理会,只是测试而已,具体是为了给大家展示路径引用问题.

controller.java

springboot中,通过application启动工程,在本地访问,以访问login.html为例,

login.html链接为:http://localhost:8080/test1/login

打开F12,监控network,

network中,mycss.css引用地址为:http://localhost:8080/css/mycss.css

此时,如果将该工程打包成war包,放到tomcat下运行,那么访问地址应为:http://localhost:8080/工程名/test1/login

此时css地址仍为:http://localhost:8080/css/mycss.css,那么此时css就会报404错误,无法正确引入,这个就是引用路径问题,解决办法如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Login</title>
    <!-- 第一种方式:<base> 标签为页面上的所有链接规定默认地址或默认目标 -->
    <base th:href="@{/}">
    <!-- 上面定义了base路径标签,那么这里的css路径就可以直接写css路径,Springboot中,static文件夹默认就是静态资源文件夹,所以这里static/css/mycss.css可以不写static/了 -->
    <link href="css/mycss.css" rel="stylesheet">

    <!-- 如果不使用base,那么这种方式也是可以的,@{/你的文件路径},缺陷就是每次引用都必须带上th:src="@{/}"这个才能正确引用,具体用什么方式,看你们自己 -->
    <script th:src="@{/js/myjs.js}"></script>

</head>
<body onload="f()">
<!--<div style="text-align: center;margin:0 auto;width: 1000px; ">-->
<div class="mydiv">
    <h1>配置Thymeleaf模板</h1>
    <table width="100%" border="1" cellspacing="1" cellpadding="0">
        <tr>
            <td>姓名</td>
            <td>年龄</td>
            <td>地址</td>
        </tr>
        <tr th:each="Admin:${list}" >
            <td th:text="${Admin.id}"></td>
            <td th:text="${Admin.a_id}"></td>
            <td th:text="${Admin.a_pwd}"></td>
        </tr>
    </table>
    <h2>ddd</h2>
</div>
</body>
</html>
 

个别比较倾向于在头部添加<base th:href="@{/}">标签,这样就不用在每个需要引入的地方都使用Thymeleaf th:href="@{/路径}"语法.

 

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值