如何在模型中使用对象列表自动填充Thymeleaf视图中的选项选项?

时间:2015-11-10 12:31:16

标签: spring spring-mvc thymeleaf

我正在开发一个使用 Thymeleaf 的Spring MVC应用程序。

我绝对是Thymeleaf的新人,我有以下问题。

在视图工作的这个阶段,我有一个选择将哪些选项值硬编码到代码中,如下所示:

<select  id="selReg" class="form-control">
    <option value="" >--SELEZIONARE UN'AREA--</option>  
    <option value="areaUmanistica" >Area Umanistica</option>
    <option value="areaLinguistica" >Area Linguistica</option>
    <option value="areaScientifica" >Area Scientifica</option>
    <option value="areaPsicoMotoria" >Area Psico-Motoria</option>
</select>

现在,在我的控制器中,我使用服务检索 Tad1005Tipodisciplina 对象列表,并将此列表放入模型中。

List<Tad1005Tipodisciplina> listaTipoDisciplina = tipoDisiplinaService.getListaTipoDisciplina();

model.addAttribute("listaTipoDisciplina", listaTipoDisciplina);

Tad1005Tipodisciplina 类包含此字段:

private String desTipDis;

我希望在我的视图中使用dinamically显示上一个选择的内容。

如何使用放入模型中的此列表来动态填充我的选择选项?

2 个答案:

答案 0 :(得分:1)

你需要在select语句中使用th:each来遍历你的列表。您可以在此处定义一个代表列表中每个对象的变量,然后您可以在每个选项标记中使用,如下所示:

<select id="selReg" class="form-control" th:each="object: ${listaTipoDisciplina}" th:field="*{listaTipoDisciplina}">
        <option th:value="${listObject.desTipDis}" th:text="${object.desTipDis}"></option>
    </select>

/编辑:一分钟太晚了:))

答案 1 :(得分:0)

我自己解决了这个问题:

<select  id="selReg" class="form-control">
    <option value="" >--SELEZIONARE UN'AREA--</option>  
    <option th:each="tipoDisciplina: ${listaTipoDisciplina}" 
            th:value="${tipoDisciplina.codTipDis}" 
            th:text="${tipoDisciplina.desTipDis}">
    </option>
</select>

发布,因为未来某人可以使用它