这是我们在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}]]
?
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。