我有一个很大的表格,我在数据库中保存了参数,因此下次用户进入时,先前的选择将在各种下拉菜单中预先选择。
类似于这篇文章: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>
答案 0 :(得分:0)
最后,我的问题确实是语法问题,很简单。
此contains(“ $ {st}”)}'是不正确的语法。您无需告诉Thymeleaf在该表达式内再次是变量。 .contais(st)工作正常。