私のWebページでは、すべての性質を含むリストを表示したいので、選択したものをリストに設定します。選択した要素のリストがタイムリーフチェックボックスを使って正しく設定されていない
私の問題は、一覧が正しく表示されていますが、選択された要素のリストには表示されていないことです。確かに、代わりに私の自然の属性文字列「NOM」の、それが保存されているその参照です:インスタンスここ
によって[email protected]
は、チェックボックスの表示です:
私が欲しいもの:私がチェックしたときインスタンスによって2拳チェックボックス、私は私のコントローラで、それは前に働いていたときは、チェックボックスがlist<String>
た
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<Nature> natures
を持つようにしたい、私は問題のoccuを考えます赤色なので、私は何かを間違っているlist<Nature>
を使用します。
<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>
(クロームでHTMLコードからコピー):
<div class="checkbox">
<label for="nature1">
<input type="checkbox" class="checkboxNature" value="[email protected]" 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>
私のコントローラ内の関連するコード:
ここ は私の関連するWebページのコードです@ModelAttribute("allNature")
public List<Nature> getAllNatures(Topologie topologie) throws Exception
{
return natureService.getNaturesByVersionCadre(topologie.getCadre(), topologie.getVersionCadre());
}
私のオブジェクト "Topologie"の関連コード:
public class Topologie {
private List<Nature> natures = new ArrayList<Nature>();
、最終的には自然クラス:
public class Nature {
@NotBlank
private String nom;
@NotNull
private Routage routage;
// @NotNull
// private String typeCl;
public enum Routage {
INSTANCE("Routage sur instance", "^[A-Za-z0-9]{2}$ (instance)"), UCANSS(
"Routage sur code UCANSS", "^[A-Za-z0-9]{2}$ (Code UCANSS)"), ACOSS(
"Routage sur code ACOSS", "^[A-Za-z0-9]{2}$ (Code ACOSS)"), INSTANCE_MIAM(
"Routage sur code instance MIAM", "^[A-Za-z0-9]{2}$ (instance)"), CODEREGIME_CODECAISSE(
"Routage sur coderégime+code caisse",
"^[0-9]{2}[0-9]{3}$ (Code régime code caisse)");
private final String nomRoutage;
// private final String codecle;
private final String regExp;
Routage(String nom, String regexp) {
this.nomRoutage = nom;
this.regExp = regexp;
}
public String getNom() {
return nomRoutage;
}
public String getRegExp() {
return regExp;
}
}
public Nature(String nomNature) {
nom = nomNature;
// TODO à modifier une fois récup faite dans fichier zk
routage = Routage.INSTANCE;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public Routage getRoutage() {
// TODO à modifier une fois récup faite dans fichier zk
if (routage == null) {
routage = Routage.INSTANCE;
}
return routage;
}
public void setRoutage(Routage routage) {
// TODO à modifier une fois récup faite dans fichier zk
if (routage == null) {
routage = Routage.INSTANCE;
}
this.routage = routage;
}
}
回答ありがとうございますが、動作は変わりません。 – jayjaypg22
さて、チェックして、Thymeleafがチェックされた属性を処理する必要があります。 次にth:valueをth:value = "$ {nature.nom}"に変更してください。 – Bohdan
は大変感謝しています。あなたはこの回答を変更することができます。私はそれを検証します;) – jayjaypg22