在springmvc中使用控制器如何实现返回值

  介绍

这篇文章将为大家详细讲解有关在springmvc中使用控制器如何实现返回值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<强>使用@RequestBody 

比如代码如下:

@RequestMapping (value=https://www.yisu.com/zixun/?ceshijson”,产生=癮pplication/json; charset=utf - 8”)   @ResponseBody   公共字符串ceshijson (@RequestBody字符串channelId)抛出IOException {      返回channelId;

如果代码为上面这种情况时,前台发送json时,应该这样写(写法有很多,能用就行)

 

这里需要特别注意:上篇也强调过,使用了@RequestBody时,它要求字符串channelId接收到数据为json字符串。也就是要写是数据成这样:数据:{“channelId& # 39;: channelId},就是错误的,因为这是json对象形式。

要是你不想使用JSON.stringify()这个函数,那就自己手动字符串拼接:

数据:& # 39;{“channelId": & # 39; + channelId + & # 39;} & # 39;

这里还要注意channelId是双引号,不能写成单引号,因为这是json语法规则。你改成单引号,也就是

* *错误写法

数据:“{& # 39;channelId& # 39;:“+ channelId +“}”

这种形式,虽然可以传给后台,但是后台传回来的会出现定义。也就是关键必须要用双引号包围。

<强>不使用@RequestBody

 @RequestMapping (value=https://www.yisu.com/zixun/"/ceshijson”,产生=癮pplication/json; charset=utf - 8”)
  @ResponseBody
  ceshijson公共字符串(字符串channelId)抛出IOException {
  地图<字符串、对象>=new HashMap <字符串、对象> ();
  地图。把(“channelId”, channelId);
  objectmap mapper=new objectmap ();
  channelId=mapper.writeValueAsString(地图);
  返回channelId;
  }

前台代码

. ajax({美元   url:“ceshijson"   类型:“post",   数据类型:& # 39;json # 39;//contentType: & # 39; application/json; charset=utf - 8 # 39;   数据:“channelId=? channelId,   成功:功能(数据){   警报(数据);   },   错误:功能(XMLHttpRequest, textStatus errorThrown) {   警报(“Error")   警报(XMLHttpRequest.status);   警报(XMLHttpRequest.readyState);   警报(textStatus);   }   });

这种方式利用objectmap中的writeValueAsString将Java对象转换为json字符串。

关于在springmvc中使用控制器如何实现返回值就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

在springmvc中使用控制器如何实现返回值