如何访问 thymeleaf 模型属性(专门来自对象的列表)以填充 html 下拉列表?
Posted
技术标签:
【中文标题】如何访问 thymeleaf 模型属性(专门来自对象的列表)以填充 html 下拉列表?【英文标题】:How to access thymeleaf model attribute (A list from an object specifically) to populate an html dropdown list? 【发布时间】: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>
【问题讨论】:
请阅读文档:thymeleaf.org/doc/tutorials/3.0/… @SimonMartinelli 我通读了那个,但我不确定如何用我的信息来实现它。 6.5 文档中的“示例”不是很清楚,或者我可能只是不了解如何使用它。 【参考方案1】:这样就可以了
<select>
<option th:each="org : $orgs"
th:value="$org"
th:text="$org"></option>
</select>
【讨论】:
这非常有效。感谢您展示示例代码来演示文档。非常有帮助。以上是关于如何访问 thymeleaf 模型属性(专门来自对象的列表)以填充 html 下拉列表?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Thymeleaf + spring boot 控制器中显示来自 Flux 的数据
Thymeleaf (th:each + th:selected) :从每个循环访问选定属性中的变量