SpringMvc的标签又称form标签
第一步:导入标签库
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
一些常用的标签
form标签
<form:form action="提交地址" method="提交方式"></form:form>
文本框 (这里的path相当于name)
<form:input path="uname"></form:input>
密码框
<form:password path="upwd"></form:password>
单选按钮
<form:radiobutton path="sex" value="男" label="男"></form:radiobutton>
<form:radiobutton path="sex" value="女" label="女"></form:radiobutton>
下拉框
<form:select path="city">
<form:option value="长沙"></form:option>
<form:option value="株洲"></form:option>
<form:option value="湘潭"></form:option>
</form:select>
复选框
爱好:<form:checkbox path="hobby" value="篮球" label="篮球"></form:checkbox>
<form:checkbox path="hobby" value="排球" label="排球"></form:checkbox>
<form:checkbox path="hobby" value="足球" label="足球"></form:checkbox>
<form:checkbox path="hobby" value="乒乓球" label="乒乓球"></form:checkbox><br/>
标签的案例
控制器中的方法
@RequestMapping("testTag")
public String testTag(ModelMap modelMap){//模型集合
//创建Users对象 将users转发到success.jsp
Users users=new Users("admin","123");//如果模型对象中的属性有值那么页面对应的标签中会显示默认数据
users.setSex("女");
users.setCity("株洲");
users.setHobby(new String[]{"足球","排球"});
modelMap.addAttribute("users",users);
return "success";
}
success页面上
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!--引入springmvc标签库-->
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form:form action="/updateUsers.action" method="post" modelAttribute="users"><!--path的名字在模型对象中必须要有--><!---->
用户名:<form:input path="uname"></form:input><br/><!--文本框 path和 普通的表单元素的name一样-->
密码:<form:password path="upwd"></form:password><br/>
性别:<form:radiobutton path="sex" value="男" label="男"></form:radiobutton>
<form:radiobutton path="sex" value="女" label="女"></form:radiobutton><br/>
城市:<form:select path="city">
<form:option value="长沙"></form:option>
<form:option value="株洲"></form:option>
<form:option value="湘潭"></form:option><br/>
爱好:<form:checkbox path="hobby" value="篮球" label="篮球"></form:checkbox>
<form:checkbox path="hobby" value="排球" label="排球"></form:checkbox>
<form:checkbox path="hobby" value="足球" label="足球"></form:checkbox>
<form:checkbox path="hobby" value="乒乓球" label="乒乓球"></form:checkbox><br/>
</form:select>
<input type="submit" value="提交">
</form:form><!--表单-->
</body>
</html>
高级标签的使用
//测试form的高级标签 下拉列表 复选框
@RequestMapping("testTag1")
public String testTag1(ModelMap modelMap){
List<String> list=new ArrayList<>();
list.add("篮球");
list.add("排球");
list.add("足球");
Student student=new Student();
student.setHobby(new String[]{"排球","足球"});
//城市集合
List<City> cities=new ArrayList<>();
cities.add(new City(1,"长沙"));
cities.add(new City(2,"株洲"));
cities.add(new City(3,"湘潭"));
cities.add(new City(4,"衡阳"));
cities.add(new City(5,"邵阳"));
String[] sexs={"男","女"};
//将集合放入模型集合中
modelMap.addAttribute("sexs",sexs);
modelMap.addAttribute("cities",cities);
modelMap.addAttribute("list",list);
modelMap.addAttribute("student",student);
return "tag";
}
页面
<%@ page contentType="text/html;charset=UTF-8" isELIgnored="false" language="java" %>
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form:form action="updateStudent.action" method="post" modelAttribute="student">
<!--path中属性的实体类对象一定要在 modelAttribute中配置-->
<!--这里的path一定要对应一个实体类中的属性-->
<!--如果在模型对象中有,就会默认选中-->
爱好:<form:checkboxes path="hobby" items="${list}"></form:checkboxes>
<br/>
城市: <form:select path="cid">
<form:options items="${cities}" itemLabel="cname" itemValue="cid"></form:options>
</form:select><br/>
<input type="submit" value="修改">
性别:<form:radiobuttons path="sex" items="${sexs}" ></form:radiobuttons>
</form:form>
</body>
</html>