後世のために自分の質問を聞いてから答える。私は自分のページで次のようなタグを使用しました:
<form:checkbox path="Active" label="label" />
このチェックボックスは、データベースから取得されたブール値に基づいて正しくオン (またはオフ) になります。ただし、チェックボックスへの変更はエンティティにバインドされず、データベースに保持されませんでした。問題は、私のエンティティがどのように構築されたかによるものであることが判明しました。私のエンティティには、次のようなプロパティとメソッドがありました。
private Boolean Active;
public Boolean getActive() {
return this.Active;
}
public Boolean setActive(Boolean active) {
this.Active = active;
}
public boolean isActive() {
if (getActive() == null) {
return false;
}
return getActive().booleanValue();
}
「isActive()」メソッドは、チェックボックスで選択された値がエンティティの Active Boolean プロパティにバインドされるのを妨げていることがわかりました。メソッドの名前を別の名前 (「isPersonActive()」など) に変更すると、問題が解決します。