ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:41.81KB ,
资源ID:4404020      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4404020.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SpringMVC 中整合JSONXML视图一.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SpringMVC 中整合JSONXML视图一.docx

1、SpringMVC 中整合JSONXML视图一SpringMVC 中整合JSON、XML视图一SpringMVC中整合了JSON、XML的视图,可以通过这些视图完成Java对象到XML、JSON的转换。转换XML提供了MarshallingView,开发者只需用注入相应的marshaller、和属性配置,即可自动完成Java的Model对象中的数据到XML的编组。Email:hoojo_Blog:一、准备工作1、 本次程序会涉及到Jackson、xStream、Jibx、Jaxb2、castor等技术,如果你对这些技术还不是很了解。建议阅读:这篇文章中涉及到的内容应该对你有不少帮助。2、 ja

2、r包下载spring各版本jar下载地址:相关的依赖包也可以在这里找到:3、 至少需要以下jar包4、 当前工程的web.xml配置web-app version=2.4 xmlns= xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance xsi:schemaLocation= dispatcher org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/dispatcher.xml 1 dispatcher *.do characterEn

3、codingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 characterEncodingFilter /* index.jsp 5、 WEB-INF中的dispatcher.xml配置 启动后,可以看到index.jsp 没有出现异常或错误。那么当前SpringMVC的配置就成功了。二、利用Jaxb2编组XML1、 Jaxb2可以完成XML和Java的相互转换,在WebService中用得较多。前面也介绍过Jaxb2 的用法。在线博文:For cnblogs:For csdn:2、

4、首先在dispatcher.xml中配置Jaxb2的marshaller的视图,配置如下: com.hoo.entity.User com.hoo.entity.AccountBean com.hoo.entity.MapBean com.hoo.entity.ListBean Jaxb2的jar在jdk中已经包含,所以不需要添加额外的jar包。详细信息你可以参考1中的博文。上面的jaxb2MarshallingView视图的class是MarshallingView,它有一个构造器需要传递一个Marshaller。Marshaller主要完成编组,即将Java对象转换成XML的这么一个东东。

5、我们在这个构造器中注入了Jaxb2Marshaller这个类,这个bean有一个classesToBeBound属性,这个属性是一个数组。需要将即将转换成XML的Java对象配置在这里。而且这些对象需要进行Annotation注解。3、 创建Jaxb2MarshallingViewController,完成Java对象到XML的转换单个JavaBean的转换,代码如下:package com.hoo.controller;import java.util.ArrayList;import java.util.Date;import java.util.List;import org.sprin

6、gframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import com.hoo.entity.AccountBean;import com.hoo.entity.Brithday;import com.hoo.entity.DifferBean;import com.hoo.entity.ListBean;import com.hoo.entity.Mo

7、reBean;import com.hoo.entity.User;/* * function:Jaxb2MarshallingView 视图,利用Jaxb2进行Java对象到XML的转换技术 * author hoojo * createDate 2011-4-27 下午03:20:23 * file Jaxb2MarshallingViewController.java * package com.hoo.controller * project SpringMVC4View * blog * email hoojo_ * version 1.0 */ControllerRequestMa

8、pping(/jaxb2/view)public class Jaxb2MarshallingViewController /* * MarshallingView Jaxb2Marshaller 需要配置转换成xml的java对象的Annotation */ RequestMapping(/doXMLJaxb2) public ModelAndView doXMLJaxb2View() System.out.println(#ViewController doXMLJaxb2View#); ModelAndView mav = new ModelAndView(jaxb2Marshallin

9、gView); AccountBean bean = new AccountBean(); bean.setAddress(address); bean.setEmail(email); bean.setId(1); bean.setName(haha); Brithday day = new Brithday(); day.setBrithday(2010-11-22); bean.setBrithday(day); mav.addObject(bean); return mav; 上面的代码的ModelAndView配置了jaxb2MarshallingView这个视图,就表示结果集会通过

10、这个视图进行编组后显示。上面需要转换的AccountBean和Birthday对象,这些对象需要配置annotation,前面已经讲到annotation对JavaBean转换XML的作用。我们来看看AccountBean对象代码:package com.hoo.entity;import javax.xml.bind.annotation.XmlElement;import javax.xml.bind.annotation.XmlRootElement;XmlRootElement(name = account)public class AccountBean private int id

11、; private String name; private String email; private String address; private Brithday brithday; XmlElement public Brithday getBrithday() return brithday; public void setBrithday(Brithday brithday) this.brithday = brithday; XmlElement public int getId() return id; public void setId(int id) this.id =

12、id; XmlElement public String getName() return name; public void setName(String name) this.name = name; XmlElement public String getEmail() return email; public void setEmail(String email) this.email = email; XmlElement public String getAddress() return address; public void setAddress(String address)

13、 this.address = address; Override public String toString() return this.name + # + this.id + # + this.address + # + this.brithday + # + this.email; 在getter方法都有部分注解,如果你想了解更多的jaxb2的相关技术,参考:Brithdaypackage com.hoo.entity;public class Brithday private String brithday; public Brithday() public Brithday(St

14、ring brithday) this.brithday = brithday; public String getBrithday() return brithday; public void setBrithday(String brithday) this.brithday = brithday; Brithday是AccountBean中的一个属性,在AccountBean中已经注解过。这里就不需要进行注解配置。通过浏览器请求:http:/localhost:8080/SpringMVC4View/jaxb2/view/doXMLJaxb2.do结果如下:address2010-11-

15、22email1haha4、 转换带List属性的JavaEntity/* * function:转换带有List属性的JavaBean * author hoojo * createDate 2011-4-27 下午05:32:22 * return */RequestMapping(/doListXMLJaxb2)public ModelAndView doListXMLJaxb2View() System.out.println(#ViewController doListXMLJaxb2View#); ModelAndView mav = new ModelAndView(jaxb2M

16、arshallingView); List beans = new ArrayList(); for (int i = 0; i 3; i+) AccountBean bean = new AccountBean(); bean.setAddress(address# + i); bean.setEmail(email + i + 12 + i + .com); bean.setId(1 + i); bean.setName(haha# + i); Brithday day = new Brithday(); day.setBrithday(2010-11-2 + i); bean.setBr

17、ithday(day); beans.add(bean); User user = new User(); user.setAddress(china GuangZhou# + i); user.setAge(23 + i); user.setBrithday(new Date(); user.setName(jack# + i); user.setSex(Boolean.parseBoolean(i + ); beans.add(user); ListBean list = new ListBean(); list.setList(beans); mav.addObject(list); r

18、eturn mav;ListBean注解过的代码package com.hoo.entity;import java.util.List;import javax.xml.bind.annotation.XmlElement;import javax.xml.bind.annotation.XmlElements;import javax.xml.bind.annotation.XmlRootElement;SuppressWarnings(unchecked)XmlRootElementpublic class ListBean private String name; private Li

19、st list; XmlElements( XmlElement(name = user, type = User.class), XmlElement(name = account, type = AccountBean.class), ) public List getList() return list; public void setList(List list) this.list = list; public String getName() return name; public void setName(String name) this.name = name; 通过上面的注解可以看出List中只能存储User、AccountBean对象,关于User对象的代码和AccountBean对象的是一样的,只是类名不同而已。读者可以自己添加。在WebBrowser中请求:http:/localhost:8080/SpringMVC4View/jaxb2/view/doListXMLJaxb2.do结果如下:addre

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1