thymeleaf与vue:thymeleaf把java对象渲染赋值给js变量、渲染js代码中的服务器请求路径

记录一下
最近在做个练手的项目,想把thymeleaf和vue结合一起使用,但是又不想弄成前后端分离的项目,想法就是后端查询出数据之后,通过thmeleaf的渲染,把数据从java的对象的数据渲染到对应的JavaScript的变量的值,这样就可以使用vue来进行操作了。还有就是向在前端发送ajax请求到服务器,所以js代码中也需要thymeleaf来渲染请求路径,以至于在更改web项目根url之后,也能正常请求服务器。

要解决的两个问题:

  1. thymeleaf把查询出来的java对象渲染给js变量,然后在浏览器端就可以使用vue直接对数据进行相关的操作了
  2. 渲染js代码中的请求路径,保证路径是正确的绝对路径

解决方法:

  1. html文件中引入thymeleaf(当然这是必须的)
<html lang="en" xmlns:th="http://www.thymeleaf.org">
  1. 在需要渲染的html文件里的script标签加上属性==》th:inline=“javascript”,然后在需要渲染的地方加上两层中括号,然后在第二层中括号里面写上thmeleaf的表达式语法就可以了。
    [[里面写thmeleaf语法]]
    <script th:inline="javascript">
        //后端中admin是一个java pojo对象
        var admin = [[${admin}]];
        //后端中admins是一个List<Admin>的list对象
        var admins = [[${admins}]];
        //这里这样写的话idea会报红,但是不用管
        var path = [[@{/test/render}]];
        console.log("admin:\n",admin);
        console.log("admins:\n",admins);
        console.log("path:\n",path);
    </script>

在这里插入图片描述

后端共享数据到域
在这里插入图片描述

  1. 浏览器控制台查看渲染效果
    在这里插入图片描述
    控制台的输出,@{}被渲染之后路径会自动被补全了。
    在这里插入图片描述
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值