没有合适的资源?快使用搜索试试~ 我知道了~
首页SpringMVC 使用JSON、XML视图
SpringMVC 使用JSON、XML视图
5星 · 超过95%的资源 需积分: 10 17 下载量 25 浏览量
更新于2023-03-03
评论
收藏 356KB DOC 举报
SpringMVC 使用JSON、XML视图,json-lib jackson,xstream castor,jibx jaxb2
资源详情
资源评论
资源推荐
SpringMVC 利用 XML、JSON 视图
SpringMVC 中 整 合 了 JSON 、 XML 的 视 图 , 可 以 通 过 这 些 视 图 完 成 Java 对 象 到
XML、JSON 的转换。转换 XML 提供了 MarshallingView,开发者只需用注入相应的
marshaller、和属性配置,即可自动完成 Java 的 Model 对象中的数据到 XML 的编组。
Email:hoojo_@126.com
Blog:http://blog.csdn.net/IBM_hoojo
http://hoojo.cnblogs.com/
一、 准备工作
1、本次程序会涉及到 Jackson、xStream、Jibx、Jaxb2、castor 等技术,
如果你对这些技术还不是很了解。建议阅读:http://www.cnblogs.com/
hoojo/archive/2011/04/27/2030264.html
这篇文章中涉及到的内容应该对你有不少帮助。
2、jar 包下载
spring 各 版 本 jar 下 载 地 址 : http://ebr.springsource.com/
repository/app/library/detail?
name=org.springframework.spring
相 关 的 依 赖 包 也 可 以 在 这 里 找 到 : http://ebr.springsource.com/
repository/app/library
3、至少需要以下 jar 包
4、当前工程的 web.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- 配置Spring核心控制器 -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-
class>org.springframework.web.servlet.DispatcherServlet</
servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher.xml</param-
value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- 解决工程编码过滤器 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-
class>org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
5、WEB-INF 中的 dispatcher.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context
"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/be
ans
http://www.springframework.org/schema/beans/spring-
beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-
3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-
context-3.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-
3.0.xsd">
<!-- 注解探测器 -->
<context:component-scan base-
package="com.hoo.controller"/>
<!-- 视图解析器,根据视图的名称new ModelAndView(name),在配置
文件查找对应的bean配置 -->
<bean
class="org.springframework.web.servlet.view.BeanNameViewReso
lver">
<property name="order" value="1"/>
</bean>
<bean
class="org.springframework.web.servlet.view.InternalResource
ViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView"/>
</bean>
</beans>
6、启动后,可以看到 index.jsp 没有出现异常或错误。那么当前 SpringMVC
的配置就成功了。
二、 利用 Jaxb2 编组 XML
1、Jaxb2 可以完成 XML 和 Java 的相互转换,在 WebService 中用得较多。前
面也介绍过 Jaxb2 的用法。
在线博文:
For cnblogs:hp://www.cnblogs.com/hoojo/archive/2011/04/26/2029011.html
For csdn:hp://blog.csdn.net/IBM_hoojo/archive/2011/04/26/6363491.aspx
2、首先在 dispatcher.xml 中配置 Jaxb2 的 marshaller 的视图,配置如下:
<!-- xml视图,Jaxb2Marshaller,需要配置对象和对象添加Annotation
xml注解,不需要添加额外的jar包 -->
<bean name="jaxb2MarshallingView"
class="org.springframework.web.servlet.view.xml.MarshallingV
iew">
<constructor-arg>
<bean
class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<array>
<value>com.hoo.entity.User</value>
<value>com.hoo.entity.AccountBean</value>
<value>com.hoo.entity.MapBean</value>
<value>com.hoo.entity.ListBean</value>
</array>
</property>
</bean>
</constructor-arg>
</bean>
Jaxb2 的 jar 在 jdk 中已经包含,所以不需要添加额外的 jar 包。详细信息
你可以参考 1 中的博文。上面的 jaxb2MarshallingView 视图的 class 是
MarshallingView , 它 有 一 个 构 造 器 需 要 传 递 一 个
Marshaller。Marshaller 主要完成编组,即将 Java 对象转换成 XML 的这
么一个东东。我们在这个构造器中注入了 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.springframework.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.MoreBean;
import com.hoo.entity.User;
/**
* <b>function:</b>Jaxb2MarshallingView 视图,利用Jaxb2进行
Java对象到XML的转换技术
* @author hoojo
* @createDate 2011-4-27 下午03:20:23
* @file Jaxb2MarshallingViewController.java
* @package com.hoo.controller
* @project SpringMVC4View
* @blog http://blog.csdn.net/IBM_hoojo
* @email hoojo_@126.com
* @version 1.0
*/
@Controller
@RequestMapping("/jaxb2/view")
public class Jaxb2MarshallingViewController {
/*
* MarshallingView Jaxb2Marshaller 需要配置转换成xml的java
对象的Annotation
*/
@RequestMapping("/doXMLJaxb2")
public ModelAndView doXMLJaxb2View() {
System.out.println("#################ViewController
doXMLJaxb2View##################");
ModelAndView mav = new
ModelAndView("jaxb2MarshallingView");
AccountBean bean = new AccountBean();
bean.setAddress("address");
bean.setEmail("email");
bean.setId(1);
剩余51页未读,继续阅读
hoojo
- 粉丝: 1629
- 资源: 46
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1