springmvc绑定pojo

xiaoxiao2021-02-28  79

当有很多参数的时候,我们肯定不能用一个个参数,springmvc可以使用pojo对象来获取这次请求中的所有参数,并且全部封装到这个对象里面。 既然如此我们来讨论一下复杂的情况,就是类里面还有类,比如学生类和班级类。 一个学生类里定义了个班级变量。 我是xxx,我的班级是啥,班主任叫啥。 举个例子 这里注意啊,如果类里有date类型,在该字段上加上注解 @DateTimeFormat(pattern=”yyyy-MM-dd”),这样从前台传来值的时候,可以自动映射。

form表单

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>首页</title> </head> <body> <form action="/student/add.do" method="post"> username:<input type="text" name="username"/><br/> sex:<input type="radio" name="sex" value="MALE"/>男生 <input type="radio" name="sex"value="FEMALE"/>女生<br/> age:<input type="text" name="age"/><br/> <!-- POJO支持级联属性,所以name属性是如下的写法,aClass.classId,意思就是有一个aClass的类,类里面有classId属性 --> classId:<input type="text" name="aClass.classId"/><br/> className:<input type="text" name="aClass.className"/><br/> 班主任:<input type="text" name="aClass.bzr"/> <input type="submit" value="提交" /> </form> </body> </html>

controller层

@Controller @RequestMapping("/student") public class AddStudent { public static final Logger log= LoggerFactory.getLogger(AddStudent.class); @RequestMapping(value = "/add.do",method = RequestMethod.POST) public String add(Student student, Model model){ model.addAttribute(student); log.info(student.toString()); return "listStudent"; } }

这里面已经做了视图映射,将会回到web-inf下面的view/listStudent.jsp页面。 结果是: tips:这里性别用的枚举类型,所以input输入框中value一开始用的男女一直报400,注意要和枚举值相同。

转载请注明原文地址: https://www.6miu.com/read-66149.html

最新回复(0)