从请求参数而不是Thymeleaf中的模型对象获取选择值

时间:2018-06-21 12:57:03

标签: spring spring-mvc thymeleaf

我有一个HTML过滤器表单,该表单通过GET请求发送过滤指令。过滤我的<select>之后,不要从传递的请求参数中加载值,但是<input>会对其th:value进行加载。如何指示<select>从URL参数(通过GET传递)中获取选定的值?我知道我可以使用th:field从模型中的对象获取值,但这不是我想要的,我希望此控件选择的数据在请求中传递。

这对于<input>来说效果很好:

<input th:value="${param.minFee}" placeholder="Min. Fee" class="form-control" type="number" min="0" max="100" step="0.01" id="minFee" name="minFee"/>

如何使此<select>从请求参数中获取其选定的值?

<select class="form-control" name="payingCurrency" id="payingCurrency">
<option th:value="-1">Any</option>
<option th:each="currency : ${currencies}"
    th:value="${currency}"
    th:text="${currency.name}"></option>
</select>

1 个答案:

答案 0 :(得分:0)

为此,您应该使用th:selected

<select class="form-control" name="payingCurrency" id="payingCurrency">
    <option th:value="-1">Any</option>
    <option th:each="currency : ${currencies}"
            th:value="${currency}"
            th:text="${currency.name}"
            th:selected="${param.currency == currency}" />
</select>

重要人物为th:selected="${param.currency == currency}"。 (param.currency的值应为您使用的参数。)