2014-10-23 10 views
12

Sto provando a configurare spring boot thymeleaf e intelij, e per la maggior parte l'ho inchiodato, ma non riesco a collegare i controller con le loro viste, come IntelliJ mantiene anoyingly thisplaying il seguente messaggio, e l'auto-compleating il sistema non funziona:come mappare i controller Spring alle loro viste in tiltelast (intellij14)

Cannot Resolve 'varName' 

mio controller simile a questa "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"; 
    } 
} 

E questo è il mio mockup 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> 

è vero che intelij, non sta ancora lavorando per questo, o mi sto perdendo un po 'di configurazione

NOTA: funziona e compila, proprio completamento automatico enlable voglio

risposta

15

Sembra questo un bug in Intellij.

ecco il link YouTrack: https://youtrack.jetbrains.com/issue/IDEA-132738

Esso non ha ottenuto molta attenzione da parte degli sviluppatori JetBrains eppure così si consiglia di aggiungere i tuoi commenti o votare lassù.

+0

I ragazzi di jetbrain stanno lavorando su un supporto di avvio a molla migliore. Spero che questo porti a un migliore supporto per l'integrazione a forma di thymeleaf autoconfigurata. Dovrebbe essere in una versione 14.x. –

10

Dal momento che è ancora irrisolto e la gente potrebbe venire qui dalla ricerca, here is the workaround citato da Zhao Xinjing nel link postato nella risposta accettata:

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

È possibile anche usare per specificare le collezioni, per esempio

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