在Spring MVC中, <form:checkbox />用于呈现HTML复选框字段,该复选框值在JSP页面内进行了硬编码。 虽然<form:checkboxes />用于呈现多个复选框,但复选框值是在运行时生成的。
在本教程中,我们向您展示了三种不同的呈现HTML复选框字段的方式:
1. <form:checkbox /> –单个复选框
生成具有布尔值的经典单个复选框。
public class Customer{
boolean receiveNewsletter;
//...
}
<form:checkbox path="receiveNewsletter" />
默认选中...
如果将“ receiveNewsletter ”布尔值设置为true,则将选中此复选框。 例如 :public class Customer{ boolean receiveNewsletter = true; //... }
2. <form:checkbox /> –多个复选框
生成多个复选框,并对值进行硬编码。
public class Customer{
String [] favLanguages;
//...
}
<form:checkbox path="favLanguages" value="Java"/>Java
<form:checkbox path="favLanguages" value="C++"/>C++
<form:checkbox path="favLanguages" value=".Net"/>.Net
默认选中...
如果要默认选中值“ Java”的复选框,则可以使用值“ Java”初始化“ favLanguages ”属性。 例如 ://SimpleFormController... @Override protected Object formBackingObject(HttpServletRequest request) throws Exception { Customer cust = new Customer(); cust.setFavLanguages(new String []{"Java"}); return cust; }
3. <form:checkboxes /> –多个复选框
为checkboxes值生成一个运行时列表,并将其链接到Spring的表单标签<form:checkboxes> 。
//SimpleFormController...
protected Map referenceData(HttpServletRequest request) throws Exception {
Map referenceData = new HashMap();
List<String> webFrameworkList = new ArrayList<String>();
webFrameworkList.add("Spring MVC");
webFrameworkList.add("Struts 1");
webFrameworkList.add("Struts 2");
webFrameworkList.add("Apache Wicket");
referenceData.put("webFrameworkList", webFrameworkList);
return referenceData;
}
<form:checkboxes items="${webFrameworkList}" path="favFramework" />
默认选中...
如果要选中2个复选框,其值分别为“ Spring MVC”和“ Struts 2”,则可以使用值“ Spring MVC”和“ Struts 2”来初始化“ favFramework ”属性。 来回示例://SimpleFormController... @Override protected Object formBackingObject(HttpServletRequest request) throws Exception {