使用百万富翁复选框未正确设置所选元素的列表

时间:2017-08-23 16:06:27

标签: spring-boot thymeleaf

在我的网页中,我想显示一个包含所有性质的列表,我希望在列表中设置选定的列表。

我的问题是列表在我显示的列表中正确设置,但不在所选元素列表中:自然。实际上,不是我性质的属性String“nom”,而是它的存储引用:<table class="responsive-table" id="address_list"> <table class="responsive-table" id="address_list"> </table> </table> 实例

这是复选框显示:

checkbox display

我想要的是:当我通过实例检查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>();

1 个答案:

答案 0 :(得分:1)

尝试将 th:value 属性值更改为 $ {nature.nom}

就像这样:

<input type="checkbox" th:field="*{natures}" th:value="${nature.nom}" class="checkboxNature" />