一:View层与Control层的数据交互
做过Web项目的人都知道,当对一个request的处理结果携带很多数据时,比如:文章列表的显示。如果从Control层一个参数一个参数地发送到文章列表页面,是很麻烦而且不讨好的。这时,我们可以把文章作为对象,把每篇文章的内容封装到一个文章对象中,然后把查询的文章结果add到一个数组。把数组set到request的属性中,最后把request转发到文章显示页面。在文章显示页面就可以获取这个数组属性,遍历它提取文章内容了。
同理,View层如果数据太多,也可以创建一个JS对象,把数据封装进对象然后把对象作为参数传给Control层即可。
二:用XML来传输数据
除了上面通过属性、参数的方式携带数据外,我们可以通过XML来传输数据,具体来说,是对象。
比如:Control层得到的结果是一个Java对象,那么怎么发回View层呢?我们可以把这个对象序列化为XML字符串,传回View层解析提取数据。(当然,也可以转换层JSON字符串。)【注意:XML/JSON序列化JavaBean只能保存对象的属性成员,而Java的Serizable序列化则可以连同方法等等一切信息序列化】
在Ajax中,经常要用到XML来传输数据与后台进行交互。
三:JavaBean与XML的转换
我们用XStream来实现。
XStream用于转换时常用到的函数有:
1:创建对象:XStream xStream=new XStream();
2:对象转换为XML字符串