我尝试在hashmap中保存表单数据,其值为objets的ArrayList(名为FilterForm)。当我尝试提交表单时,在mapKey中,map的值很好,但是地图中的某些表值为null。
这是地图,首先我将其初始化:
在处理数据之前,使用以下内容初始化地图:
private Map<String, List<FilterForm>> filtros = new LinkedHashMap<String, List<FilterForm>>();
public CustomSearchForm() {
this.filtros.put("datos_personales", new ArrayList<FilterForm>());
this.filtros.put("datos_institucion", new ArrayList<FilterForm>());
}
然后用这种百里香形式来捕捉价值
<div class="col-md-2 col-xs-2">
<select th:id="'accion_'+${f.key}+'_'+${status.index}" onchange="cambioCombo(this);" th:if="${ff.tipoCampo != 'Booleano'}" class="form-control select2me" form="customSearch"
placeholder="Acción"
th:field="*{filtros[__${f.key}__][__${status.index}__].accion}">
<option th:each="a : ${customSearch.ACCIONES}" th:value="${a}"
th:text="${a}"></option>
</select>
</div>
<div class="col-md-3 col-xs-3">
<input th:id="'valueField_'+${f.key}+'_'+${status.index}" th:if="${ff.tipoCampo == 'Numero' or ff.tipoCampo == 'Texto' or ff.tipoCampo == 'Tabla'}" form="customSearch"
type="text" class="form-control" placeholder="Valor"
th:field="*{filtros[__${f.key}__][__${status.index}__].value}" />
<div th:if="${ff.tipoCampo == 'Fecha'}" th:id="'dateField_'+${f.key}+'_'+${status.index}" class="date"
data-date-format="dd/mm/yyyy">
<input form="searchForm"
class="form-control input-lg date" th:id="'valueFieldDate_'+${f.key}+'_'+${status.index}"
th:field="*{filtros[__${f.key}__][__${status.index}__].value}"
th:name="'valueField_'+${f.key}+'_'+${status.index}" type="text" placeholder="Fecha" />
</div>
f
属性在我循环hashmap和status
变量时循环列表中的列表。