我正在尝试使用Spring-Boot,并希望将Thymeleaf用作我的模板引擎。由于某些原因,当我想在百里香片段中使用模型变量时,代码补全无法正常工作。例如,我正在定义我的片段之一,如下所示:

<div th:fragment="destThemeDiv(adminViewDTO)">


现在,当我想在某些表达式中使用adminViewDTO时,它可以工作,但是当我想要访问adminViewDTO并用红色下划线标记时,IntelliJ无法识别它们。例如,当我这样做时:

<th:block th:each="someObject: ${adminViewDTO.someObjects}">


然后对someObjects进行下划线读取,这很明显,因为IntelliJ无法自行推断出类型参数,但是即使我在片段的顶部提供了类型提示,它仍然无法正常工作:

<!--@thymesVar id="adminViewDTO" type="test.view.AdminViewDTO"-->


有什么办法可以使它正常工作吗?我没有真正找到其他人对此抱怨。

提前致谢

最佳答案

我觉得我想通了。当我将类型提示直接放在使用表达式的代码块上方而不是将其插入页面顶部时,它就会起作用。

像这样:

<!--@thymesVar id="adminViewDTO" type="test.view.AdminViewDTO"-->
<th:block th:each="someObject : ${adminViewDTO.someObjects}">
  <!--When using someObject in expression here, it will be recognized-->
</th:block>

10-02 13:54