我正在将Spring Boot与Thymeleaf一起使用,并且知道我可以通过以下方式在javascript中使用控制器中的变量:
<script th:inline="javascript">
/*<![CDATA[*/
var username = [[${#authentication.principal.person.isSubscribedTo("random string")}]];
/*]]>*/
</script>
现在,我试图像这样在CDATA注释之外使用局部变量。我希望我可以在方法中使用它。
var randomString = "can i use this?";
/*<![CDATA[*/
var username = [[${#authentication.principal.person.isSubscribedTo(randomString)}]];
/*]]>*/
这不起作用,我无法测试,因为我的调试器无法获取该方法,并且不会返回任何错误。
如何在百里香javascript表达式中使用本地javascript变量?
答案 0 :(得分:1)
您对何时何地发生的事情感到困惑。
首先,服务器使用Thymeleaf为页面生成HTML和动态Javascript。正如您所说的,在此过程中,Thymeleaf可以在服务器上运行时调用Spring Bean。
然后,将HTML和动态Javascript发送到浏览器后,它将在客户端全部运行Javascript。
唯一真正的方法是:
randomString
。