在我的网页中,我想显示一个包含所有性质的列表,我希望在列表中设置选定的列表。
我的问题是列表在我显示的列表中正确设置,但不在所选元素列表中:自然。实际上,不是我性质的属性String“nom”,而是它的存储引用:<table class="responsive-table" id="address_list">
<table class="responsive-table" id="address_list">
</table>
</table>
实例
这是复选框显示:
我想要的是:当我通过实例检查2拳头复选框时,我希望在我的控制器中有fr.cnamts.navigo.domain.Nature@19c4a02
值得
List<Nature> natures
如果之前有效,则复选框为natures.get(0).nom = "bcmc_envtraco_out"
natures.get(0).routage = INSTANCE
natures.get(1).nom = "bcmc_medtab_out"
natures.get(1).routage = INSTANCE
,我认为问题发生了,因为我使用list<String>
做错了。
以下是我的相关网页代码:
list<Nature>
此代码的解释如下(从chrome中的html代码复制):
<form action="#" th:action="@{/bus/topologie}"
th:object="${topologie}" method="post" class="form-horizontal">
<div class="col-sm-10" th:if="!${#lists.isEmpty(allNature)}">
<div th:each="nature : ${allNature}" class="checkbox">
<label th:for="${#ids.next('nature')}">
<input type="checkbox" th:field="*{natures}" th:value="${nature}" class="checkboxNature" />
<span th:text="${nature.nom}" class="col-sm-5">...</span>
<span th:text="${nature.routage.nom}" class="col-sm-5">...</span>
</label>
</div>
我的控制器中的相关代码:
<div class="checkbox">
<label for="nature1">
<input type="checkbox" class="checkboxNature" value="fr.cnamts.navigo.domain.Nature@19c4a02" id="natures3" name="natures"><input type="hidden" name="_natures" value="on">
<span class="col-sm-5">bcmc_trabcmreca_out</span>
<span class="col-sm-7">Routage sur instance</span>
</label>
</div>
我的对象“拓扑”中的相关代码:
@ModelAttribute("allNature")
public List<Nature> getAllNatures(Topologie topologie) throws Exception
{
return natureService.getNaturesByVersionCadre(topologie.getCadre(), topologie.getVersionCadre());
}
最终是自然类:
public class Topologie {
private List<Nature> natures = new ArrayList<Nature>();
答案 0 :(得分:1)
尝试将 th:value 属性值更改为 $ {nature.nom}
就像这样:
<input type="checkbox" th:field="*{natures}" th:value="${nature.nom}" class="checkboxNature" />