前台json传送到后台,自动装配成对象,springmvc与json对象支持这么做么

第一种方式,使用springMVC内置的json支持
1.首先导入jackson的两个包jackson-core-lgpl-1.2.1.jar和jackson-mapper-lgpl-1.2.1.jar,后面附上了这两个包,可以下载。
2.配置springMVC的配置文件
&!--&mvc:annotation-driven/& --&
&!-- 这样配置的目地是了支持json数据的转换 --&
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /&
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"&
&property name="messageConverters"&
&util:list id="beanList"&
&ref bean="mappingJacksonHttpMessageConverter"/&
&/util:list&
&/property&
&bean id="mappingJacksonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"&
&property name="supportedMediaTypes"&
&value&text/charset=UTF-8&/value&
&/property&
&/bean&
3.前台Ext请求数据
var schemaEnNameStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : '/ext_project/metaTable.action?method=querySchemaEnName',
type : 'ajax'
reader : new Ext.data.JsonReader({
root : 'root',
type : 'json'
name : 'schemaEnName',mapping:'param'
autoLoad : false
});
4.后台controller处理并返回数据
@RequestMapping(params = "method=querySchemaEnName")
@ResponseBody
public Object handleQuerySchemaEnName() {
List&ParamDto& schemaEnNameList = metaTableService.querySchemaEnNameTotal();
Map&String,Object& map = new HashMap();
map.put("root", schemaEnNameList);
map.put("success", true);
} catch (Exception e) {
e.printStackTrace();
第二中方式,比较简单和原始
1.前台请求数据
var tableEnNameStore = new Ext.data.JsonStore({
url : '/ext_project/metaTable.action?method=queryTableEnName',
root : 'root',
fields : [{
name : 'tableEnName',mapping:'param'
autoLoad : false
})
2.后台处理并返回,使用JSONObject
@RequestMapping(params = "method=queryTableEnName")
public void handleQueryTableEnName(HttpServletRequest req,HttpServletResponse response){
String schemaEnName = req.getParameter("schemaEnName");
List&String& list = metaTableService.queryTableEnNameBySchEnName(schemaEnName);
List&ParamDto& tableEnNameList = new ArrayList();
Iterator iterator = list.iterator();
while(iterator.hasNext()){
ParamDto pDto
= new ParamDto();
pDto.setParam((String)iterator.next());
tableEnNameList.add(pDto);
Map&String,Object& map = new HashMap();
map.put("root",tableEnNameList);
map.put("success", true);
JSONObject obj = JSONObject.fromObject(map);
PrintWriter writer = response.getWriter();
writer.print(obj.toString());
}catch(Exception e){
e.printStackTrace();
}
第三种方式
&&& springMVC的MappingJacksonJsonView借助Jackson框架的ObjectMapper将模型数据转换为JSON格式输出,由于MappingJacksonJsonView也是一个bean,可以通过BeanNameViewResolver进行解析,因此须在配置文件中配置:
bean id="userListJson" calss="org.springframework.web.servlet.view.json.MappingJacksonJsonView" p:renderedAttributes="userList"/&
默认情况下,MappingJacksonJsoView会将所有的数据都输出为json,这显然是不合适的,你可以通过renderedAttributes指定模型中哪些属性需要输出。
&&& 在controller中添加一个返回userListJson的逻辑视图的方法:
&&& @requestMapping()
public String **(ModelMap map){
List&User& list = new ArrayList&User&();
map.addAttribute("userList",list);
return "userListJson"
这是我个人比较喜欢使用的几种方式,当然还有其他的很多方式,大家可以自己查查资料
(343.9 KB)
描述: 相关的 jar包
下载次数: 18
(141.7 KB)
下载次数: 11
浏览: 10903 次
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'SpringMVC后台json数据前台ajax获取不到!!!急求解答!!!
@RestController
@RequestMapping(value = "/loan")
public class LoanApplyController extends BaseController {
private LoanApplyService loanApplyS
//购车申请审核模块
@RequestMapping(value = "apply/all", method = RequestMethod.GET)
public XaResult&List&LoanApplyVo&& queryAllApply(Integer pageSize, Integer currentPage) throws BusinessException {
Page&LoanApplyBo& page = this.loanApplyService.selectAllApply(pageSize, currentPage);
return XaResult.success(page, LoanApplyVo.convert(page.getRows()));
$(".item li").click(function(){
console.log($(this).val());
var id=$(this).val();
url:"/loan/apply/all", //写自己的后台地址
data:{id:id},
dataType:'json',
type:'get',
success:function(data){ //接受json数据
console.log(data.dataList[0].id);
@RequestMapping(value = "apply/all", method = RequestMethod.GET)
@ResponseBody
你还没有登录,请先登录或注册慕课网帐号
72831人关注
22205人关注
Copyright (C)
All Rights Reserved | 京ICP备 号-2}

我要回帖

更多关于 spring json 对象转换 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信