【问题标题】:Can not pass data as list from spring controller to view?无法将数据作为列表从弹簧控制器传递给查看?
【发布时间】:2018-03-09 20:20:15
【问题描述】:

我使用以下控制器方法从数据库中检索数据

@RequestMapping(value = {"/channel-detail"}, method = RequestMethod.GET)
public String channelDetail(ModelMap model) {
    List<Channel> channels = channelService.findAll();
    model.addAttribute("channelList", channels);
    return "channel-detail";
}

在我的 html 页面中,我使用 Thymeleaf 传递此频道列表,如下所示

<li class="channel-box" th:each="channels, rowStat : ${channelList}">
    <a th:href="@{/channels/channel-detail?channelId=__${channels.id}__}"  >
        <img th:src="@{/assets/dist/img/axn.png}" alt="AXN" />
        <span class="chn-name">AXN</span>
    </a>
</li>

我期望的是遍历循环并多次显示内容。我的数据库包含 3 组频道条目。所以内容应该显示3次。但是当我加载html时它什么也没显示。这里有什么问题?

感谢任何帮助

【问题讨论】:

  • 您是否已经确定您的列表不为空?
  • 嗯,简单的操作是channels.isEmpty()。您可以从调试或简单的System.out.println(channels.isEmpty()); 开始,然后您将知道您的列表是否为空
  • 已经完成了。谢谢。列表不为空

标签: java html spring list thymeleaf


【解决方案1】:

不知道为什么你对单个 uri 使用括号

@RequestMapping(value = {"/channel-detail"}, method = RequestMethod.GET)

尝试使用

@RequestMapping(value = "/channel-detail", method = RequestMethod.GET)

打印控制器中的列表并告诉我您是否在控制台中看到了这些项目。

【讨论】:

  • 列表不为空。我可以看到控制台中的元素
  • 使用 {} 并不重要,我在其他控制器中也使用哪个并且工作正常。
  • 好的。右键单击->检查->控制台这是否在控制台中显示任何错误?
猜你喜欢
  • 1970-01-01
  • 2021-04-09
  • 2014-08-15
  • 1970-01-01
  • 2013-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多