2017-02-23 4 views
0

ブール値「deleted」を含むモデルがあります。私はリストを生成し、各要素にはこの変数があります。thでブール値を設定:チェック

リストに印刷してチェックボックスを使って設定しようとしていますので、設定されているものはすべて保存しています。

モデルは

public class entry{ 
private boolean deleted; 

public entry(boolean deleted){ 
this.deleted = deleted; 
} 

//setters & getters for deleted 
} 

私はその後、私のthymeleafフォームは、ラッパークラスを使用して、このリストに読みました。どちらがうまくいくの?

各要素の削除された状態に応じて、チェックボックスをオンまたはオフにすることができますが、チェックボックスをオンからオフに変更すると、その状態に変数が保存されません。

HTML

<div th:each="entry, stat: *{entryList}"> 
    <td> 
    <label class="switch"> 
     <input name="index" th:type="checkbox" th:checked="*{entryList[__${stat.index}__].deleted}"> 
     </input> <span class="delete round"> 
    </span> 
    </label> 
</td> 
     </div> 

TH:オブジェクト

<form action="#" th:action="@{submitData}" class="saveForm" 
      method="post" th:object="${entryWrapper}"> 
... 
... 
</form> 

ラッパークラス

public class EntryWrapper { 

    @Autowired 
    private List<Entry> entryList; 

    public EntryWrapper(){ 

    } 

    public EntryWrapper(List<Entry> entryList){ 
     this.entryList = entryList; 
    } 

    public List<Entry> getEntryList(){ 
     return entryList; 
    } 

    public void add(final Entry entry){ 
     this.entryList.add(entry); 
    } 

    public void setEntryList(List<Entry> entryList){ 
     this.entryList = entryList; 
    } 
} 
+0

entryListはどのように見えますか?リスト?また、あなたは何ですか:オブジェクトですか? – Metroids

+0

にはラッパークラスの内容とth:オブジェクトが含まれています。 @ {submitData}はユーザーをリストのビューに移動させ、エントリを編集することはできません。 – Travisty

答えて

0

の代わりにth:checkedは、あなたがth:field

<input type="checkbox" th:field="*{entryList[__${stat.index}__].deleted}"> 

th:fieldを使用する必要があり、名前を生成し、IDと属性を確認し、フォームを投稿するときに、それはあなたのモデルオブジェクトを移入する必要があります。

+0

ありがとうございました:)私はこれを行っていましたが、チェックボックスを選択できませんでした。しかし、これは私が信じている

関連する問題