【问题标题】:Spring MVC&ThymeLeaf: th:text doesn't show controller's provided contentSpring MVC&ThymeLeaf:th:text 不显示控制器提供的内容
【发布时间】:2016-05-22 12:43:06
【问题描述】:

我有以下问题:

我的控制器使用 Hibernate DAO 从数据库中获取数据。现在,我想在网站上显示该数据。提取工作正常,但不知何故,提取的数据未显示在“th:text”字段中。

这里是html文件中的关键部分:

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

这里是相关的控制器类:

@Controller

公共类 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());
}

}

【问题讨论】:

  • 对于初学者来说,你的控制器有缺陷(试着想想 10 个请求进来,prioArticle 的值是多少?接下来没有 getAllArticles 添加到模型中,所以没有什么可做的迭代。

标签: html spring hibernate thymeleaf


【解决方案1】:

您是否尝试过将文章中的 for each 放在属性之前?

类似.... th:text="${article.hp_content}" 像这样..... th:text="${article.hp_header}"

enter link description here 中查看它您有一个示例:8.4 删除模板片段

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 2019-10-20
    相关资源
    最近更新 更多