大家好,又见面了,我是你们的朋友全栈君。
1、@ResponseBody注解简介:
2、引入的包:
3、sprigMVC环境搭建在上一篇博客《Spring MVC请求参数传值、重定向(redirect)与转发(forward)》 介绍。
4、@ResponseBody在Controller类中的使用 4.1、返回值会转成json数据
@RequestMapping("Demo11")
@ResponseBody
public People Demo11(People peo){
System.out.println("这是Demo11!!!!"+peo.getName());
People p = new People();
p.setAge(peo.getAge());
p.setName(peo.getName());
System.out.println("@@@@@@@@@@@@22 -- "+p.toString());
return p;
}
返回结果(在页面中展示):
4.2、返回值为中文字符串,需要设置字符编码: 返回值为字符串的情况:返回值为字符串,则不能转换成json格式的,返回的响应头 (conten-type) 为text/html, 为防止中文乱码,因此需要使用@RequestMapping(,produces = “text/html;charset=utf-8”)设置响应头编码方式为utf-8
实例代码:
@RequestMapping(value = "Demo12",produces = "text/html;charset=utf-8")
@ResponseBody
public String Demo12(People peo){
return peo.getName();
}
返回值显示结果:
5、前端jsp页面: demo.jsp:
<%@page contentType="text/html; utf-8" pageEncoding="UTF-8" language="java" %>
<html>
<body>
<h2>Hello World!</h2>
<hr>
<form action="Demo12" method="post">
<table>
<tr>
<td>用户姓名:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>年龄:</td>
<td>
<input type="number" name="age"/>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
</body>
</html>
6、使用@ResponseBody特别注意的是要引入的json相关的包
要注意jackson包的版本要与Spring包的版本相匹配,不然会报错:
[org.springframework.context.support.ClassPathXmlApplicationContext]Exception encountered during context initialization – cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter’: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonMerge
此处使用的版本是Spring-4.1.6-xxx.jar 和 jackson-2.4.0-xxx.jar版本。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144989.html原文链接:https://javaforall.cn