Как сопоставить контроллеры Spring с их представлениями тимелеафа (intellij14)

Я пытаюсь настроить spring boot thymeleaf и intelij, и по большей части прибил его, но я, похоже, не могу связать контроллеры со своими представлениями, поскольку intelyij anoyingly продолжает thisplaying следующее сообщение, и автоматическое заполнение системы не работает:

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, по-прежнему не работает для этого, или мне не хватает какой-либо конфигурации

ПРИМЕЧАНИЕ: он работает и компилируется, просто хочу автозаполнять

Ответ 1

Похоже, это ошибка в Intellij.

Здесь ссылка youtrack: https://youtrack.jetbrains.com/issue/IDEA-132738

Он не получил много внимания от разработчиков JetBrains, поэтому вы можете добавить свои комментарии или проголосовать там там.

Ответ 2

Так как он до сих пор не разрешен, и люди могут прийти сюда путем поиска, вот обходной путь, упомянутый zhao xinjing в ссылке, опубликованной в принятом ответе:

<!--/*--><[email protected] 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

Вы также можете использовать его для указания коллекций, например.

<!--/*--><[email protected] id="names" type="List<String>"--><!--*/-->
<!--/*--><[email protected] id="name" type="String"--><!--*/-->
<li th:each="name: ${names}" ... />