springMVC数据绑定
2020-12-26 19:28
标签:使用 bin abi input hand 关于 depend org private 1.数据绑定的定义 2.常用的数据绑定类型 3.具体使用方法:在搭建好springMVC环境下添加注解@RequestParam(value = "表单对应的name") 即可完成数据绑定 关于对象的相应页面的调用数据: 集合与json的数据绑定: 集合的数据绑定得先定义一个集合 绑定数据类型为list时,表单name值的定义方式(set与list一样): 绑定数据类型为map时,表单name值的定义方式: 方法的编写(list、map与set一致): 对于json的数据绑定,springMVC没有对应的方法,需导入json解析jar包:jackson-databind,并且在spring的配置文件中配置相应的数据绑定解析器 方法的编写: springMVC数据绑定 标签:使用 bin abi input hand 关于 depend org private 原文地址:https://www.cnblogs.com/shouyaya/p/13034868.htmlpackage com.yzy.controller;
import com.yzy.entity.Course;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class dataBindHandler {
//基本数据类型
@RequestMapping(value = "/baseType")
@ResponseBody
public String baseType(@RequestParam(value = "id") int id){
return "id:"+id;
}
//包装类
@RequestMapping(value = "/packageType")
@ResponseBody
public String packageType(@RequestParam(value = "id") Integer id){
return "id:"+id;
}
//字符串数组
@RequestMapping(value = "/arrayType")
@ResponseBody
public String arrayType(String[] name){
StringBuffer stringBuffer=new StringBuffer();
for(String str:name){
stringBuffer.append(str).append(" ");
}
return stringBuffer.toString();
}
//对象(表单的name值与对象的属性名对应即可完成对象的封装)
@RequestMapping("/pojoType")
public ModelAndView pojoType(Course course){
ModelAndView modelAndView=new ModelAndView();
modelAndView.addObject("course",course);
modelAndView.setViewName("index");
return modelAndView;
}
td>${course.id}td> --取值方式--%>
td>${course.name}td>
td>${course.price}td>
td>${course.author.name}td> --级联对象的取值--%>
public class CourseList {
private List
input type="text" class="form-control" name="courses[0].id" placeholder="请输入课程编号">
input type="text" class="form-control" name="courses[‘one‘].id" placeholder="请输入课程编号">
@RequestMapping(value = "/listType")
public ModelAndView listType(CourseList courseList){
for(Course course:courseList.getCourses()){
courseDAO.add(course);
}
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("index");
modelAndView.addObject("courses",courseDAO.getAll());
return modelAndView;
}
dependency>
groupId>com.fasterxml.jackson.coregroupId>
artifactId>jackson-databindartifactId>
version>2.8.3version>
dependency>
mvc:annotation-driven>
mvc:message-converters>
bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">bean>
mvc:message-converters>
mvc:annotation-driven>
@RequestMapping(value = "/jsonType")
@ResponseBody
public Course jsonType(@RequestBody Course course){ //通过解析request中的json数据,生成对应的实体对象
course.setPrice(course.getPrice()+100);
return course;
}