如何在引用的JavaScript-File中使用Thymeleaf而不是在标记之间

问题描述 投票:0回答:1

这是我们在JavaScript中访问[[${message}]]的方法:

<script th:inline="javascript">
/*<![CDATA[*/

    var message = [[${message}]];
    console.log(message);

/*]]>*/
</script>

由于我不想使用内联JavaScript,因此我引用了一个JavaScript文件:

<script type="text/javascript" src="/js/app.js"></script>

如何在我的外部JavaScript文件app.js中访问[[${message}]]

javascript html thymeleaf
1个回答
0
投票

Thymeleaf 3引入了new template modes,其中一个是javascript。因此,除了返回html的TemplateResolver之外,您还需要配置一个返回javascript资源的新TemplateResolver。然后你会正常创建一个控制器,除了它将为你的javascript服务:

@Controller
public class JavascriptController {

  @RequestMapping("/js/app.js")
  public String greeting(Model model) {
    model.addAttribute("message", "Here is a message.");
    return "/where/your/js/is/app.js";
  }
}

它将使用该模型正常将变量传递给您的外部JavaScript。

© www.soinside.com 2019 - 2024. All rights reserved.