我有一个具有以下形式的模板:
<h2>Favorite States</h2>
<form action="#" th:action="@{/states}" name="states" method="post">
<select class="js-example-basic-multiple" multiple="multiple" style="width: 60%">
<option th:each="state: ${states}" th:utext="${state.name}"></option>
</select>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
我想从此表单中获取String [],例如,如果用户选择了NY,CA,MA州,则我想在我的后置地图控制器中获取String[] selectedStates = {"NY", "CA", "MA"};
。我怎样才能做到这一点?
我尝试过
@GetMapping(path="/states")
public @ResponseBody String statesList (@RequestParam String[] name) {
}
但是它说没有收到必需的参数。
谢谢!
答案 0 :(得分:1)
您可以使用以下代码将javascript数组转换为JSON
。
JSON.stringify(array);
然后在控制器中,将其作为String参数接受,然后使用Jackson库将其转换回数组,如下所示:
ObjectMapper mapper = new ObjectMapper();
String [] array = mapper.readValue(jsonString, String[].class):
答案 1 :(得分:0)
您可以将其包装并作为模型属性传递