Java 百里香叶+;Spring下拉列表在选中的下拉框中保留数据

Java 百里香叶+;Spring下拉列表在选中的下拉框中保留数据,java,spring,thymeleaf,el,Java,Spring,Thymeleaf,El,我有一个大表单,其中我将参数保存在DB中,因此下次用户进来时,之前的选择将在各种下拉列表中预先选择 与此类似: 主要的区别是我有大量的参数,我试图使它更通用一些 基本上,我在Java中有一个ParameterSet对象,它有一个getParameterByName函数和一个contains方法,用于检查下拉列表的动态可能值是否在上一次运行中被选中 我的问题可能与Thymeleaf语法有关。我一直在玩th:selected='${campaightruncommand.parameters.par

我有一个大表单,其中我将参数保存在DB中,因此下次用户进来时,之前的选择将在各种下拉列表中预先选择

与此类似:

主要的区别是我有大量的参数,我试图使它更通用一些

基本上,我在Java中有一个ParameterSet对象,它有一个getParameterByName函数和一个contains方法,用于检查下拉列表的动态可能值是否在上一次运行中被选中

我的问题可能与Thymeleaf语法有关。我一直在玩th:selected='${campaightruncommand.parameters.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>


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


此包含(“${st}”)}”的语法不正确。您不需要告诉Thymeleaf这是表达式中的一个变量。contais(st)工作正常。

使用spring的模型类从getParameterByName方法发送数据。看见