我正在使用Spring MVC应用程序,但是在禁用它时,我遇到了获取复选框值的问题。
报告.jsp页面中的:
<form:checkbox type="checkbox" path="corporateColumn" id="corporateColumn" value="true" checked="checked" disabled="true" />
ReportForm.java中的:
boolean corporateColumn ;
public boolean isCorporateColumn() {
return corporateColumn;
}
public void setCorporateColumn(boolean corporateColumn) {
this.corporateColumn = corporateColumn;
}
在ReportController.java中;
boolean corporateColumn = reportDTO.isCorporateColumn(); // this evaluates to false
//Which expected as true when corporateColumn checkbox is checked
除非对复选框字段使用disabled =“true”(/ disabled =“$ {'true'}”),否则一切正常。
我在获取禁用文本字段的值时也遇到了类似的问题,并通过只读字段来克服它。 所以我不确定Spring MVC在禁用时是否无法获取输入字段的值。
任何指导都会非常感激。
谢谢!
答案 0 :(得分:8)
很遗憾地说,但这是不可能的。
使用开发者工具(如在Chrome中)检查发布的数据,您可以确认浏览器在禁用或取消选中时不会发送复选框的数据。
为什么不简单地使用'readonly'而不是'disabled'?
答案 1 :(得分:3)
禁用的字段数据不会传递给服务器。