如何将Spring控制器映射到他们的百万美元视图(intellij14)

时间:2014-10-23 03:28:34

标签: spring spring-mvc intellij-idea spring-boot thymeleaf

我正在尝试配置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,仍然没有为此工作,或者我错过了一些配置

注意:它可以工作和编译,只是想启用自动完成

2 个答案:

答案 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}" ... />