【问题标题】:How to access thymeleaf model attribute (A list from an object specifically) to populate an html dropdown list?如何访问 thymeleaf 模型属性(专门来自对象的列表)以填充 html 下拉列表?
【发布时间】:2020-07-31 03:08:18
【问题描述】:

我一直在做一些研究,如果您通过 model.addAttribute("object name", object); 传递整个内容,我了解如何使用特定对象。但是如果我只传递一个返回列表的方法,我不知道如何获取 html 中的数据。

所以,这将是我的班级控制器:

@Controller
public class randomNotification {

    @Autowired
    private randomService randomService;

    @Autowired
    private secondService secondService;

    @GetMapping("/random-notification.html")
    public String renderpage(Model model) {
        model.addAttribute("orgs", randomService.getOrgs());
        model.addAttribute("templates", secondService.getTemplates());
        return "random-notification";
    }
}

randomService.getOrgs() 会返回一个字符串集合,例如 ["AB","BC","CD","DE","EF","FG"] secondService.getTemplates() 也会返回一个类似的字符串集合。

我想要做的是使用字符串列表中的每个值来填充我的 html 中的下拉列表。因此,如果我有以下空白组合框:

<div class="random-combobox">
    <th><label>Random </label></th>
    <th>
        <select class="random-cbox">
            <option value="">Select one..</option>
            <option value=""></option>
            <option value=""></option>
            <option value=""></option>
            <option value=""></option>
            <option value=""></option>
            <option value=""></option>
        </select>
    </th>
</div>

我想用列表中的一项填充每个选项,所以它几乎就像

<div class="random-combobox">
    <th><label>Random </label></th>
    <th>
        <select class="random-cbox">
            <option value="">Select one..</option>
            <option value="<getOrgsOption1>">AB</option>
            <option value="<getOrgsOption2>">BC</option>
            <option value="<getOrgsOption3>">CD</option>
            <option value="<getOrgsOption4>">DE</option>
            <option value="<getOrgsOption5>">EF</option>
            <option value="<getOrgsOption6>">FG</option>
        </select>
    </th>
</div>

【问题讨论】:

  • @SimonMartinelli 我通读了那个,但我不确定如何用我的信息来实现它。 6.5 文档中的“示例”不是很清楚,或者我可能只是不了解如何使用它。

标签: java spring-boot model-view-controller thymeleaf


【解决方案1】:

这样就可以了

<select>
  <option th:each="org : ${orgs}" 
          th:value="${org}" 
          th:text="${org}"></option>
</select>

【讨论】:

  • 这非常有效。感谢您展示示例代码来演示文档。非常有帮助。
猜你喜欢
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多