SpringMVC--JSON数据
来源:互联网 发布:虚拟机下安装linux 编辑:程序博客网 时间:2024/06/01 10:24
1 解析后台传递过来的数据为JOSN
一般而言,Spring MVC 的 CONTROLLER 可以通过两种方式返回 JSON 数据给前端JSP页面
1.1 SpringMVC的配置文件添加解析器:
<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="stringConverter" /> <ref bean="jsonConverter" /> </list> </property> </bean>
后台:
@RequestMapping("/json") @ResponseBody public List<User> json(){ List<User> list=new ArrayList<User>(); list.add(new User(1,"zhangsan","男")); list.add(new User(2,"nico","女")); list.add(new User(3,"zhangsa","男")); return list; }
前台:
$.post("ajax.do",function(data){ for(var i=0;i,data.length;i++){ html+="<tr><td>"+data[i].id+"</td><td>"+data[i].name+"</td><td>"+data[i].sex+"</td></tr>" } $("#content").html(html); });
1.2 将数据转为JSON数组的形式,前台解析
后台控制器,定义一个JSON数组,向数组中添加对象。
@RequestMapping("josntext") public String text(HttpServletRequest request, HttpServletResponse response) { JSONArray array = new JSONArray(); JSONObject object = null; for (int i = 0; i < 5; i++) { object = new JSONObject(); object.accumulate("a", 1); object.accumulate("b", 2); object.accumulate("c", 3); object.accumulate("d", 4); array.add(object); } request.setAttribute("arr", array); return "josn"; }
返回的页面:
<script> $(document).ready(function(){ var arr='<%=request.getAttribute("arr")%>'; alert(arr); arr=JSON.parse(arr);//解析成了一个类似二维数组的形式 alert(arr[0].a); });</script>
需要注意的是后台传递过来的数据为字符串的形式,需要转化为JSON数组。
出现的问题及解决方案:
报错:Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError:
commons/lang/exception/NestableRuntimeException] with root cause
抛了两个错误,从后一个中可知,是缺少JOSN相关的架包。
添加commons-lang.jar即可,必须保证有如下几个包:
commons-beanutils.jar commons-collections-3.1.jar commons-lang.jar commons-logging.jar
ezmorph-1.0.6.jar json-lib-2.2.2-jdk15.jar
2 对于某 Controller 而言,只有个别方法返回JSON数据的注解:在方法前增加注解 @ResponceBody即可
3 针对整个 Controller 而言,均返回 JSON 数据的注解:@RestController 代替 @Controller 。无需在方法中注明。
4 使用ObjectMapper将数据转为Json
List<Country> list=new ArrayList<Country>();list=createCountryList();//获取数据return(mapper.writeValueAsString(list));//转换
未完待续。。。
- SpringMVC处理json数据
- springmvc 返回 json数据
- springmvc返回json数据
- SpringMVC处理JSON数据
- springmvc处理json数据
- SpringMVC返回json数据
- springmvc json 数据交互
- SpringMVC返回JSON数据
- SpringMVC返回JSON数据
- SpringMVC返回json数据
- springmvc:json数据交互
- SpringMVC--JSON数据
- SpringMvc处理json数据
- springmvc返回json数据
- Springmvc返回json数据
- SpringMVC接受JSON数据
- springMVC接受json数据
- SpringMVC返回json数据
- 2015 第六届 蓝桥杯省赛 生命之树
- Git入门使用
- 2017 蓝桥杯模拟 风险度量
- 设置JTable每行的颜色
- 第一个Kotlin程序
- SpringMVC--JSON数据
- 2016 第七届 蓝桥杯 国赛 路径之谜
- 2016 第七届 蓝桥杯 国赛 碱基
- 系统研发随记
- Spring--IOC
- 2016 第七届 蓝桥杯 国赛 机器人塔
- 9. Palindrome Number
- 用好你的Control键(针对类Unix系统用户)
- 【python开发】利用PIP3的时候出现的问题Fatal error in launcher: Unable to create process using '"'