转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6648131.html 

一: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字符串:String xml = xstream.toXML(bean);

3:对象转换为XML字符串并输出到xml文档:xStream.toXML(bean,outputstream);

4:XML字符串转换为Java对象;bean=(ClassName)xstream.fromXML(xmlstring);

5:读取XML文档并转换为Java对象:ClassName bean=(ClassName) xStream.fromXML(inputStream);

6:在序列化时把包重命名:Xstream.aliasPackage(“新包名”,“原包名”);

  7:为类重命名:Xstream.alias(“新名”,class对象)方法

  8:为对象成员属性重命名:Xstream.aliasField(“新名”,class对象,“原名”)方法

  9:隐藏字段:xstream.omitField(class对象,“隐藏字段名”)方法

  10:XStream的对象输出流:

XStream xstream = new XStream();
ObjectOutputStream out = xstream.createObjectOutputStream(System.out);
out.writeObject(对象);

11:XStream的对象输入流:

String xml_string="XML字符串";
StringReader reader = new StringReader(xml_string);
XStream xstream = new XStream();
ObjectInputStream in = xstream.createObjectInputStream(reader);
ClassName bean=(ClassName) in.readObject();

JavaBean与XML转换——XStream使用笔记的更多相关文章

  1. XML,Object,Json分析转换Xstream采用

    XML,Object,Json转换之浅析Xstream的使用 请尊重他人的劳动成果,转载请注明出处:XML,Object,Json转换之浅析Xstream的使用 XStream的是一个简单的库.主要用 ...

  2. JavaBean转xml

    JavaBean转xml的工具就是:XStream XStream的作用: XStream可以把JavaBean对象转换成XML!通常服务器向客户端响应的数据都是来自数据库的一组对象,当我们不能直接把 ...

  3. json、javaBean、xml互转的几种工具介绍

    json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...

  4. json、javaBean、xml互转的几种工具介绍 (转载)

    工作中经常要用到Json.JavaBean.Xml之间的相互转换,用到了很多种方式,这里做下总结,以供参考. 现在主流的转换工具有json-lib.jackson.fastjson等,我为大家一一做简 ...

  5. javabean 和 xml 互转

    1.场景描述 将javabean对象转换为xml字符串,将xml字符串转换为javabean对象. 2.maven依赖 <dependency> <groupId>jdom&l ...

  6. JavaBean与xml互转的方法详解

    本文实例讲述了Jaxb2实现JavaBean与xml互转的方法.分享给大家供大家参考,具体如下: 一.简介 JAXB(Java Architecture for XML Binding) 是一个业界的 ...

  7. java与xml转换 -- XStreamAlias

    @XStreamAlias 1.特点 简化的API; 无映射文件; 高性能,低内存占用; 整洁的XML; 不需要修改对象;支持内部私有字段,不需要setter/getter方法 提供序列化接口; 自定 ...

  8. Jaxb2实现JavaBean与xml互转的方法详解

    本文实例讲述了Jaxb2实现JavaBean与xml互转的方法.分享给大家供大家参考,具体如下: 一.简介 JAXB(Java Architecture for XML Binding) 是一个业界的 ...

  9. XStream使用笔记

    XStream是一个可以将JavaBean生成XML的工具,很方便的帮助我们在后台服务器将数据序列化为XML,接下来就可以将XML数据响应给前台进行数据交互 XStream需要的jar包 * 核心JA ...

随机推荐

  1. 无耻之徒(美版)第七季/全集Shameless US迅雷下载

    英文全名Shameless (US),第7季(2016).本季看点:<无耻之徒>(Shameless)第七季.本季故事起始于「一个月之后」,Frank从昏迷中醒来后得知亲人背叛了他,于是向 ...

  2. iTunes Connect开发者指南中的一个疑问

    iTunes Connect Developer Guide     避免app版本出现在iClound中,我的疑问是对已经上架的版本不能设置,那么这个功能的真正意义在哪里? 大部分用户去应用页面下载 ...

  3. 【转】Android开发在路上:少去踩坑,多走捷径

    本文是我订阅"腾讯大讲堂"公众帐号时,他们推送的一篇文章,但在腾讯大讲堂官网上我并没有找到这篇文章,不过其它专门"爬"公众号文章的网站倒是有.我觉得写的很不错. ...

  4. 【转】解决Android因加载多个大图引起的OutOfMemoryError,内存溢出的问题

    本文来自:http://blog.csdn.net/wulianghuan/article/details/11548373,感谢原作者的分享. 目标是读取SD卡中的图片并且展示出来 主要思路是通过一 ...

  5. 用PopupWindow实现弹出菜单(弹出的菜单采用自定义布局)

         用PopupWindow实现弹出菜单是一个比较好的方式.当然我们还有一个类PopupMenu也能实现弹出菜单,但那个太过于局限了,所以不是很推荐. 这个实例的效果是这样的:点击按钮后,一个菜 ...

  6. 模型标准化——预测模型标记语言(PMML)

    https://www.cnblogs.com/pinard/p/9220199.html 在机器学习用于产品的时候,我们经常会遇到跨平台的问题.比如我们用Python基于一系列的机器学习库训练了一个 ...

  7. 概率校准与Brier分数

    1.再提逻辑回归 前面已经讲过了逻辑回归,这里不再细讲,只是简单的说一个函数,主要是方便大家更好的理解概率校准. 在逻辑回归中,用的最多的就是sigmod函数,这个函数的作用就是把无限大或者无限小的数 ...

  8. Guava ClassToInstanceMap

    概述 ClassToInstanceMap提供了一种是用Class作为Key, 对应实例作为Value的途径.他定义了T getInstance(Class<T>)和T putInstan ...

  9. JSON与XML的区别比较(转)

    原文链接:JSON与XML的区别比较 1.定义介绍 (1).XML定义扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以 ...

  10. IDEA远程debug的使用

    1.打开配置页面 2.添加远程调试配置 3.进行参数配置 不同的jdk版本,配置的参数是不一样的! 其中Host为远程服务器的地址,Port为远程debug的端口,注意要与前面设置的address保持 ...