2016-05-22 8 views
0

Ich habe folgendes Problem:Spring MVC & ThymeLeaf: th: Text zeigt nicht Controllers bereitgestellt Inhalt

Mein Controller ein Hibernate DAO verwendet, um Daten aus einer Datenbank abgerufen werden. Jetzt möchte ich diese Daten auf einer Website anzeigen. Der Abruf funktioniert einwandfrei, aber irgendwie werden die abgerufenen Daten nicht im Feld "th: text" angezeigt. Hier

ist der kritische Teil in HTML-Datei:

<div class="item active" 
            th:each="article : ${getAllArticles}"> 
            <div class="carousel-content"> 
             <div> 
             <!-- Controller generated header --> 
              <h3 class="article_header" th:text="${hp_header}"></h3> 
              <p> 
               <small>Android, EU, Google</small> 
              </p> 
              <p th:text="${hp_content}">Lorem ipsum dolor 
               sit amet, consetetur sadipscing elitr, sed diam nonumy 
               eirmod tempor invidunt ut labore et dolore magna aliquyam 
               erat, sed diam voluptua. At vero eos et accusam et justo 
               duo dolores et ea rebum. Stet clita kasd gubergren, no sea 
               takimata sanctus est Lorem ipsum dolor sit amet.</p> 
              <div class="button_area"> 
               <a class="btn btn-large btn-info" href="detailview.html"> 
                Details </a> 
              </div> 
             </div> 
            </div> 
           </div> 
           <!-- END ITEM --> 

Und hier ist der zugehörige Controller-Klasse:

@Controller 

public class Indexcontroller {

private Article prioArticle; 

@RequestMapping("/") 
public String index(Model model) { 
    fetchHighPrioContent(); 
    model.addAttribute("hp_header", prioArticle.getHeadLine()); 
    System.out.println(prioArticle.getHeadLine()); 
    model.addAttribute("hp_content", prioArticle.getContent()); 
    System.out.println(prioArticle.getContent()); 
    return "index"; 
} 


private void fetchHighPrioContent(){ 
    //get highest rated article 
    prioArticle = ArticleHandler.getInstance().retriveByRank(1).get(0); 
    System.out.println("DEBUG: " + prioArticle.getArtID() + " " + prioArticle.getHeadLine()); 
} 

}

+0

Für den Anfang ist Ihr Controller fehlerhaft (versuchen Sie, über 10 Anfragen kommen und was würde der Wert von "prioArticle" sein? Als nächstes gibt es keine "getAllArticles" hinzugefügt werden das Modell, also gibt es nichts, um darüber zu iterieren. –

Antwort

0

Haben Sie versucht, den Artikel für jedes Attribut vor Ihrem Attribut zu platzieren?

So etwas .... th: text = "$ {article.hp_content}" Und wie dieses ..... th: text = "$ {article.hp_header}"

Check it out in enter link description here Sie haben ein Beispiel unter: 8.4 Entfernen Vorlagenfragmente