如何在引用的JavaScript文件中使用Thymeleaf,而不是在<script>标记之间

时间:2017-12-20 19:20:11

标签: javascript html thymeleaf

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

&#xA;&#xA;
 &lt; script th:inline = “JavaScript的” &GT;&#XA; / *&LT;![CDATA [* /&#XA;&#XA; var message = [[$ {message}]];&#xA;的console.log(消息);&#XA;&#XA; / *]]&GT; * /&#XA;&LT; /脚本&GT;&#XA;  
&#XA;&# xA;

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

&#xA;&#xA;
 &lt; script type =“text / javascript“src =”/ js / app.js“&gt;&lt; / script&gt;&#xA;  
&#xA;&#xA;

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

&#xA;

1 个答案:

答案 0 :(得分: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。