软件开发实训(720科技)--数据绑定和标签库
授课老师:张森鹏重要笔记1.数组//数组绑定/arrayType?name=tom&name=lucy@RequestMapping('/arrayType')@ResponseBodypublic String array(String[] name){StringBuilder sb=new StringBuilder();for (String item :name){sb.append(item).append(' ');}return sb.toString();}2. 对象//todo 对象绑定/objectType?name=tom&age=10//todo 复合对象///objectType?name=tom&age=10&contactinfo.phone=10086&contactinfo.address=china//todo 属性的多个对象/objectType?user.name=tom&age=10@RequestMapping('/objectType')@ResponseBodypublic String object(User user, Admin admin){return user.toString()+' '+admin.toString();}@InitBinder('user')public void initUser(WebDataBinder binder){binder.setFieldDefaultPrefix('user.');}@InitBinder('admin')public void initAdmin(WebDataBinder binder){binder.setFieldDefaultPrefix('admin.');}3. 集合类型List//todo 集合数据绑定//todo 数据收集对象UserListForm,绑定的是里面的users对象//todo/list?users[0].name=tom&users[1].name=lucy// 请求索引要连续,不然会浪费很多空间(空对象)@RequestMapping(value = '/list')@ResponseBodypublic String list(UserListForm userList){return userList.toString();}Set//todoset的绑定与list的不同,set要初始化size大小,源码里面会判断index与size关系// set 主要判断重复,在初始化set对象大小之后,重写hashcode和equals方法,空对象1个,size为1// /set?users[0].name=tom&users[1].name=lucy@RequestMapping(value = '/set')@ResponseBodypublic String set(UserSetForm userSet){return userSet.toString();}Map//todo/map?users[x].name=tom&users[y].name=lucy@RequestMapping(value = '/map')@ResponseBodypublic String map(UserMapForm userMap){return userMap.toString();}4. Json数据在maven配置文件中加入jackson-databind的jar包依赖支持对json的解析//todo json绑定 Content-Type:application/json// {// 'name':'tom',// 'age':10,// 'contactInfo':{// 'address':'shenzhen',// 'phone':10086// }//}@RequestMapping(value = '/json')@ResponseBodypublic String json( 20000 @RequestBody User user){return user.toString();}5. XML//todo xml绑定 需要加入spring-oxm的jar包以及对象添加xml的注解//Content-Type:application/xml////// tom// 10//@RequestMapping(value = '/xml')@ResponseBodypublic String xml(@RequestBody Admin admin){return admin.toString();}对Admin类的修改:package kay.model;import javax.xml.bind.annotation.XmlElement;import javax.xml.bind.annotation.XmlRootElement;@XmlRootElement(name='admin') //xml根节点public class Admin{private String name;private String age;@Overridepublic String toString() {return 'Admin{' +'name=' + name +\+', age=' + age +\+};}@XmlElement(name='name') //xml属性节点public String getName() {return name;}public void setName(String name) {this.name = name;}@XmlElement(name='age') //xml属性节点public String getAge() {return age;}public void setAge(String age) {this.age = age;}}
阅读更多- 软件开发实训(720科技)――第五课:数据绑定和标签库
- 软件开发实训(720科技)--------商业画布(第三课)
- 软件开发实训(720科技)――第六课:转换器和格式化、验证器
- 软件开发实训(720科技)---20180404 三个公司的商业画布
- 软件开发实训(720科技)――第一课:认知产品经理
- 软件开发实训(720科技)――第十课 Axure教程
- 软件开发实训(720)科技---智能物流案例菜鸟裹裹 韩增杰
- 软件开发实训(720科技)――路由协议重分布(自学)
- 软件开发实训(720科技)――第十课 Axure教程
- J2EE软件实训开发(720科技)----商业画布(修改)
- 软件开发实训(720科技)--------产品经理是做什么的
- 软件开发实训(720科技)――生成树协议(自学)
- 软件开发实训(720科技)-------如何做好产品经理
- 软件开发实训(720科技)-----第二课:SpringMVC学习
- 软件开发实训(720科技)――第九课:Axure入门基础
- 软件开发实训(720)科技--- 第四课 Spring 框架基础配置-0413-v1.0韩增杰
- 软件开发实训(720科技)――第九课:Axure入门基础
- 软件开发实训(720)科技---智能物流商业情形 韩增杰
- 软件开发实训(720科技)――第七课:vue浅谈前端js框架