介绍
这篇文章将为大家详细讲解有关在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中使用控制器如何实现返回值