📅  最后修改于: 2023-12-03 14:47:34.126000             🧑  作者: Mango
在Web应用程序中,表单复选框是经常用到的组件之一。它可以让用户从多个选项中选择多个或单个选项。在Spring Web MVC框架中,我们可以使用<form:checkbox>
元素来创建复选框。
要在Spring Web MVC应用程序中创建复选框,请按照以下步骤操作:
创建一个Java类来表示复选框的值:
public class CheckBoxValue {
private boolean selected;
public boolean isSelected() {
return selected;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
}
在上面的代码中,我们定义了一个名为CheckBoxValue
的类来表示复选框的值。isSelected()
方法返回复选框是否被选中,setSelected()
方法用于设置复选框的选中状态。
在控制器中添加一个处理复选框的方法:
@GetMapping("/checkbox")
public ModelAndView getCheckBox() {
ModelAndView modelAndView = new ModelAndView("checkbox");
modelAndView.addObject("checkBoxValue", new CheckBoxValue());
return modelAndView;
}
在上面的代码中,我们定义了一个名为getCheckBox()
的方法,它返回视图名为checkbox
的ModelAndView
对象,并将一个新的CheckBoxValue
对象添加到模型中。
创建一个视图来显示复选框:
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<html>
<head><title>Spring - MVC 表单复选框</title></head>
<body>
<h2>使用 Spring MVC 创建复选框</h2>
<form:form method="post" modelAttribute="checkBoxValue">
<form:checkbox path="selected" label="Spring" value="true"/>
<form:checkbox path="selected" label="Hibernate" value="true"/>
<form:checkbox path="selected" label="Struts" value="true"/>
<br><br>
<input type="submit" value="提交"/>
</form:form>
</body>
</html>
在上面的代码中,我们使用了Spring表单标签库的<form:form>
和<form:checkbox>
元素来创建复选框。path
属性指定了与模型属性对应的表单域,value
属性指定了复选框被选中时提交的值,label
属性指定了显示在复选框后面的文本标签。
注意,我们将modelAttribute
属性设置为checkBoxValue
,这与控制器中getCheckBox()
方法中添加到模型的属性相对应。
创建一个处理复选框提交的方法:
@PostMapping("/checkbox")
public ModelAndView processCheckBox(@ModelAttribute("checkBoxValue") CheckBoxValue checkBoxValue) {
ModelAndView modelAndView = new ModelAndView("checkboxresult");
modelAndView.addObject("checkBoxValue", checkBoxValue);
return modelAndView;
}
在上面的代码中,我们定义了一个名为processCheckBox()
的方法来处理复选框的提交。@ModelAttribute
注解指定了将提交的表单数据绑定到哪个模型属性上。
创建复选框提交结果的视图:
<html>
<head><title>Spring - MVC 表单复选框提交结果</title></head>
<body>
<h2>复选框提交结果:</h2>
<p>选中的项目是:</p>
<c:choose>
<c:when test="${checkBoxValue.selected}">
Spring
</c:when>
<c:otherwise>
没有选中任何项目。
</c:otherwise>
</c:choose>
</body>
</html>
在上面的代码中,我们使用了JSTL的<c:choose>
和<c:when>
元素来显示复选框提交的结果。
Spring MVC的表单复选框可以让用户从多个选项中选择多个或单个选项。我们可以使用<form:checkbox>
元素来创建复选框,使用@ModelAttribute
注解来将提交的表单数据绑定到模型属性上。通过这篇教程的学习,相信你已经掌握了Spring MVC的表单复选框的基本用法。