Thymeleaf + Spring下拉列表在下拉框中保留了数据

时间:2019-09-04 23:38:14

标签: java spring thymeleaf el

我有一个很大的表格,我在数据库中保存了参数,因此下次用户进入时,先前的选择将在各种下拉菜单中预先选择。

类似于这篇文章:Thymeleaf + Spring form - How load persisted select box values from controller to view?

主要区别是我有大量参数,并且我正在尝试使其更通用。

基本上,我在Java中有一个带有getParameterByName函数的ParameterSet对象和一个contains方法,该方法检查下拉列表的动态可能值是否在先前运行中选择。

我的问题可能与Thymeleaf语法有关。我一直在玩th:selected ='$ {campaignRunCommand.parameterSet.parameters.getParameterByName(“ states”)。contains(“ $ {st}”)}'' 而且我什至不确定是否可以像这样在Thymeleaf中发送没有参数的静态值。

<select class="js-example-basic-multiple" style="width: 75%"
id="cstates" name="cstates" multiple="multiple">
<option th:each="st : ${states}" th:value="${st}" th:selected='${campaignRunCommand.parameterSet.parameters.getParameterByName("states").contains("${st}")}'
    th:text="${st}"></option>

1 个答案:

答案 0 :(得分:0)

最后,我的问题确实是语法问题,很简单。

此contains(“ $ {st}”)}'是不正确的语法。您无需告诉Thymeleaf在该表达式内再次是变量。 .contais(st)工作正常。