码迷,mamicode.com
首页 > 编程语言 > 详细

spring复杂数据类型传递

时间:2017-11-12 00:26:06      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:pre   coding   页面   person   size   content   for   删除   val   

1.VO对象与PO对象的区别:

PO(persistant object) 持久对象:通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。

VO(value object) 值对象:通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。

相同:

都是Javabean,都是由一组属性和属性的get和set方法组成

区别:(意义和本质不同)

①PO对象中的属性关联数据库的字段 
②VO对象中的属性可以随意增加、修改、删除,对应的页面表单属性

一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。

2.值对象封装信息(VO)

表单的input里的name必须要与VO对象的属性名称一致

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 4 <c:set var="basePath" value="${pageContext.request.contextPath }"></c:set>
 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 6 <html>
 7 <head>
 8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 9 <title>Insert title here</title>
10 </head>
11 <body>
12     ${pageContext.request.contextPath }
13     <form action="${basePath }/person/welcome.action" method="post">
14         <input type="text" name="person.name">
15         <input type="number" name="person.age">
16         
17         <input type="text" name="list[0]">
18         <input type="text" name="list[1]">
19         <input type="text" name="list[2]">
20         
21         <input type="text" name="map[‘map1‘]">
22         <input type="text" name="map[‘map2‘]">
23         
24         <input type="text" name="strings[0]">
25         <input type="text" name="strings[1]">
26         
27         <input type="submit" value="提交">
28     </form>
29     <span>${dataVo.person.name }</span>
30     <span>${dataVo.person.age }</span>
31     <span>${dataVo.list[0] }</span>
32     <span>${dataVo.list[1] }</span>
33     <span>${dataVo.list[2] }</span>
34     <span>${dataVo.map["map1"] }</span>
35     <span>${dataVo.map["map2"] }</span>
36     <span>${dataVo.strings[0] }</span>
37     <span>${dataVo.strings[1] }</span>
38     
39 </body>
40 </html>
    @RequestMapping("/welcome.action")
    public String welcome(DataVo dataVo,ModelMap modelMap){
        System.out.println(dataVo);
        modelMap.put("dataVo", dataVo);
        return "login";
    }
1 public class DataVo {
2     private Person person;
3     private List<String> list;
4     private Map<String,String> map;
5     private String[] strings;

 

spring复杂数据类型传递

标签:pre   coding   页面   person   size   content   for   删除   val   

原文地址:http://www.cnblogs.com/57rongjielong/p/7820439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!