Thymeleaf 内联 javascript spring bean 使用文本模板模式检查 null

Thymeleaf inline javascript spring bean check for null with textual template modes

我无法理解 Thymeleaf 的 Textual template modes 功能的语法。我正在尝试访问 bean(工作正常)并从我获取另一个对象的地方调用 getter。这个对象可以为空,我需要在访问我需要的字符串之前检查它。

如何使用 Thymeleaf 中的 [# th:if 表达式在一行中完成此操作?

<script th:inline="javascript">
        //This does not work (i have tried multiple things)
        var string = /*[# th:if="${@bean.getObject()}"][[${@bean.getObject().getString()}]][/]*/ null;
</script>

有很多方法可以做到这一点,我推荐safe navigation operator

<script th:inline="javascript">
  var string = /*[[${@bean.object?.string}]]*/ null;
</script>

你也可以使用三元表达式:

<script th:inline="javascript">
  var string = /*[[${@bean.object != null ? @bean.object.string : null}]]*/ null;
</script>