javascript中使用thymeleaf中的变量

在sprinboot中,后台通过Model 的addAttribute("variable_name",variable_val); 方法将该变量传递到前端。在前端的页面标签中使用${variable_name}就可以获得变量的值。

而在javascript中,如果想要获取到值,需要如下写法:

var user_name = "[[${user_name}]]";

外面的引号是必须的,否则会出现reference error 未定义的错误。 

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript 文件使用 Thymeleaf 语法需要借助于服务器端的渲染,通过在服务器端解析模板并将变量的值渲染到模板,然后将渲染好的 HTML 页面返回给客户端。 具体实现方法有以下几种: 1. 将 JavaScript 文件的内容嵌入到 HTML 页面使用 Thymeleaf 语法引用模板变量。例如: ``` <script th:inline="javascript"> var myVar = /*[[${myVar}]]*/ ''; // ... </script> ``` 此方法需要将 JavaScript 内容写在 HTML 页面,不太灵活。 2. 将 JavaScript 文件的内容存储在模板使用 Thymeleaf 语法引用模板变量,然后在服务器端将模板渲染为 HTML 页面。例如: ``` // JS 模板文件 var myVar = /*[[${myVar}]]*/ ''; // 渲染模板并返回 HTML 页面 @GetMapping("/my-page") public String myPage(Model model) { model.addAttribute("myVar", "hello world"); return "my-page"; } ``` 此方法需要在服务器端进行模板渲染,适用于需要动态生成 HTML 页面的情况。 3. 将 JavaScript 文件的内容存储在独立的文件,在服务器端使用 Thymeleaf 语法生成动态的 JavaScript 文件。例如: ``` // JavaScript 文件模板 var myVar = /*[[${myVar}]]*/ ''; // 渲染 JavaScript 文件并返回 @GetMapping("/my-script.js") public ResponseEntity<String> myScript(Model model) { String content = // 读取 JavaScript 文件模板并使用 Thymeleaf 渲染 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JAVASCRIPT); return new ResponseEntity<>(content, headers, HttpStatus.OK); } ``` 此方法需要在服务器端生成动态的 JavaScript 文件,适用于需要动态生成 JavaScript 文件的情况。 无论采用哪种方法,在使用 Thymeleaf 语法时都需要确保在服务器端进行模板渲染,而不能直接在客户端访问 JavaScript 文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值