SpringBoot2.4.2和Thymeleaf3.0.12-访问静态方法
自从我切换到Spring Boot 2.4.2我的Thymeleaf模板就坏了。当我想访问 Spring Controller 中的静态成员时,出现以下错误:
异常处理模板“template_name”:在此上下文中禁止实例化新对象和访问静态类。
代码如下:
th:text="${T(com.test).testMethod("1234")}"
你有什么建议来解决这个问题吗?
回答
此更改是Thymeleaf 3.0.12的一部分。它们通过限制对静态代码的访问(OGNL 中的@identifier@,SpringEL 中的 T(identifier))来提高受限表达式评估模式的安全性。他们自己做了什么?...“避免了新对象的实例化和对静态类的调用”,如发行说明中所述。您可以将 JAVA 调用移动到您的控制器中并将结果放入视图模型中。从 Thymeleaf 模板访问此变量后。
THE END
二维码