我正在尝试配置spring boot thymeleaf和intellij,并且大部分已经将它钉在了它上面,但我似乎无法将控制器与他们的视图联系起来,因为intellij恼人地继续显示以下消息,并且自动 - 完成系统无法正常工作:
Cannot Resolve 'varName'
我的控制器看起来像这样" main / java /..../ controller.java"
@Controller
public class CardsController {
@RequestMapping(value="/card/{id}",method = RequestMethod.GET)
public String viewCardAction(@PathVariable("id") Card card,Model model){
model.addAttribute("card",card);
return "cards/view";
}
}
这是我的模型视图" main / resources / cards / view / cards / view":
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head lang="en">
<meta charset="UTF-8"/>
<title th:text="${card.name}"></title> <!-- this line shows the message -->
</head>
<body>
<div th:text="${card.name}"></div> <!-- this line shows the message -->
</body>
</html>
是intelij,仍然没有为此工作,或者我错过了一些配置
注意:它可以工作和编译,只是想启用自动完成
答案 0 :(得分:15)
看起来这是Intellij中的一个错误。
这是youtrack链接: https://youtrack.jetbrains.com/issue/IDEA-132738
JetBrains开发者尚未引起太多关注,所以你可能想要添加你的评论或在那里投票。
答案 1 :(得分:11)
由于它仍然没有得到解决,人们可能会通过搜索来到这里,zhao xinjing在接受的答案中发布的链接中提到了here is the workaround:
<!--/*--><!--@thymesVar id="loginFormBean" type="sample.system.login.LoginFormBean"--><!--*/-->
<form id="formMain" class="form-horizontal" action="#" data-th-action="@{/login}" data-th-object="${loginFormBean}" method="post"> as thymeleaf comment, nothing be left in html output
您也可以使用它来指定集合,例如
<!--/*--><!--@thymesVar id="names" type="List<String>"--><!--*/-->
<!--/*--><!--@thymesVar id="name" type="String"--><!--*/-->
<li th:each="name: ${names}" ... />