這裏是我的代碼片段:Thymeleaf +春複選框沒有約束力
車輛類別:
// Duplicates
private Boolean regCard = true;
private Boolean decal;
private Boolean title;
public Boolean getRegCard() {
return regCard;
}
public void setRegCard(Boolean regCard) {
this.regCard = regCard;
}
public Boolean getDecal() {
return decal;
}
public void setDecal(Boolean decal) {
this.decal = decal;
}
public Boolean getTitle() {
return title;
}
public void setTitle(Boolean title) {
this.title = title;
}
Thymeleaf:
<form method="post" th:action="${flowExecutionUrl}" th:object="${customerModel.vehicle}">
<div class="duplicates">
<ul>
<li><label>What do you need to duplicate?</label>
<div class="regTitle">
<label>Registration Card
<input type="checkbox" th:field="*{regCard}"/>
</label>
<label>Decal
<input type="checkbox" th:field="*{decal}"/>
</label>
<div th:switch="*{vehicleType}">
<div th:case="'BR'">
<label>Title
<input th:type="checkbox" th:field="*{title}"/>
</label>
</div>
</div>
</div>
</li>
</ul>
<div class="clear"></div>
</div>
<div class="btm-btn-row">
<div class="btm-btn-left">
<a th:href="@{'~' + ${flowExecutionUrl}(_eventId='back')}">back</a>
</div>
<div class="btm-btn-right">
<input type="submit" value="continue" name="_eventId_continue" />
</div>
</div>
</form>
生成的HTML:
<form method="post" action="/IllinoisRVSWeb/main-flow?execution=e1s4">
<div class="duplicates">
<ul>
<li><label>What do you need to duplicate?</label>
<div class="regTitle">
<label>Registration Card
<input type="checkbox" id="vehicle.regCard1" name="vehicle.regCard" value="true" checked="checked" /><input type="hidden" name="_vehicle.regCard" value="on" />
</label>
<label>Decal
<input type="checkbox" id="vehicle.decal1" name="vehicle.decal" value="true" /><input type="hidden" name="_vehicle.decal" value="on" />
</label>
<div>
<div>
<label>Title
<input type="checkbox" id="vehicle.title1" name="vehicle.title" value="true" /><input type="hidden" name="_vehicle.title" value="on" />
</label>
</div>
</div>
</div>
</li>
</ul>
<div class="clear"></div>
</div>
<div class="btm-btn-row">
<div class="btm-btn-left">
<a href="/IllinoisRVSWeb/main-flow?execution=e1s4&_eventId=back">back</a>
</div>
<div class="btm-btn-right">
<input type="submit" value="continue" name="_eventId_continue" />
</div>
</div>
</form>
問題:
提交時,布爾值永遠不會被設置。 我試過另一種方式。使用List對象並將該變量綁定到複選框,每個複選框都使用正確的th:value =「'SOMETEXT'」。但該對象也保持爲空。
正如你所看到的,我預先設置了一個值爲true,看它是否會出現在html端。它成功了。所以它至少要檢索價值,但如果它的價值發生了變化,它就不會設置它。另外,正如你所看到的,我嘗試使用「th:value =」複選框「」來查看是否有幫助。它沒。
Thymeleaf 2.1.4版
春4.1.4
訪問Spring WebFlow 2.4.0
任何幫助或建議將是巨大的。
由於
當T中的另一頁需要提交表單他正在開發的網站,我能夠成功使用複選框並將正確的布爾值發送到後端。我在比較這兩頁,看看我做了什麼不同,但乍看之下沒有看到任何差異。 – MSwezey