2014-10-23 10 views
12

Próbuję skonfigurować thymeleaf sprężyny i intelij, i w większości go przybiłem, ale nie mogę wydawać się w stanie połączyć kontrolerów z ich widokami, jak IntelliJ anoyingly utrzymuje thisplaying następujący komunikat, a auto-compleating system nie działa:jak zmapować kontrolery Springa do ich widoków thymeleaf (intellij14)

Cannot Resolve 'varName' 

mój kontroler wygląda to "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"; 
    } 
} 

A to jest mój widok makiety "główne/zasoby/karty/widok/karty/widok":

<!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> 

jest to, że intelij, nadal nie działa na to, czy jestem brakuje niektórych konfiguracji

UWAGA: to działa i kompiluje, tylko chcę enlable autouzupełnianie

Odpowiedz

15

Wygląda na to, że jest to bug w Intellij.

Oto link youtrack: https://youtrack.jetbrains.com/issue/IDEA-132738

Nie ma zdobyć wiele uwagi od deweloperów JetBrains jeszcze tak możesz dodać swój komentarz lub głosowania go tam.

+0

Faceci jetbrains pracują nad lepszą obsługą sprężyn. Mam nadzieję, że doprowadzi to do lepszego wsparcia dla autokonfigurowanej integracji thymeleaf. Ma być w wersji 14.x. –

10

Ponieważ jest nadal nierozwiązana, a ludzie mogą przyjść tu wspomniano wyszukiwania, here is the workaround Zhao Xinjing w linku zamieszczonych w przyjętym odpowiedź:

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

Można również wykorzystać go do określenia kolekcji, na przykład

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