科技网站设计欣赏,培训机构加盟店排行榜,注册做网站的公司,asp网站后台模板处理器方法也可以返回Object对象。这个Object可以是Integer#xff0c;String#xff0c;自定义对象#xff0c; Map#xff0c;List 等。但返回的对象不是作为逻辑视图出现的#xff0c;而是作为直接在页面显示的数据出现的。 返回对象#xff0c;需要使用ResponseBody注… 处理器方法也可以返回Object对象。这个Object可以是IntegerString自定义对象 MapList 等。但返回的对象不是作为逻辑视图出现的而是作为直接在页面显示的数据出现的。 返回对象需要使用ResponseBody注解将转换后的JSON数据放入到响应体中。
实现步骤 1.在pom.xml中加入处理json的工具库的依赖springmvc默认使用的jackson 由于返回Object数据一般都是将数据转化为了JSON对象后传递给浏览器页面的。而 这个由Object转换为JSON是由消息转换器HttpMessageConverter底层使用Jackson工具完成的所以需要导入Jackson 的相关Jar包。 dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-core/artifactIdversion2.9.0/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.9.0/version/dependency 2.在springmvc配置文件中加入 mvc:annotation-driven 注解驱动: 注解驱动涉及到了消息转换器接口 !-- 注册mvc的注解驱动 -- mvc:annotation-driven/ 作用mvc:annotation-driven/在加入到springmvc配置文件后会自动创建消息转换器HttpMessageConverter接口的7个实现类对象完成java对象到json、xml、text、二进制等数据格式的转换。这里将JAVA对象转换为JSON格式的数据 ObjectMapper om new ObjectMapper(); json om.writevalueAsString(student); 3.在处理器方法的上面加入ResponseBody注解 作用通过HttpServletResponse应答对象将转换后的JSON数据放入到响应体中输出给浏览器 response.setContentType(application/json;charsetutf-8); PrintWriter pw response.getWriter(); pw.printIn(json); HttpMessageConveter接口 :消息转换器。 注解驱动涉及到了消息转换器接口。 功能:定义了java转为jsonxml二级制text等数据格式的方法。 这个接口有很多的实现类 这些实现类完成 java对象到json java对象到xmljava对象到二进制等数据的转换 mvc:annotation-driven/在加入到springmvc配置文件后会自动创建消息转换器HttpMessageConverter接口的7个实现类对象包括 MappingJackson2HttpMessageConverter ( 使用jackson工具库中的ObjectMapper实现java对象转换成json字符串 ObjectMapper om new ObjectMapper(); json om.writevalueAsString(student); Controller
RequestMapping(/data)
public class MyController4 {RequestMapping(/single.do)ResponseBodypublic Student doJsonObject(){//创建java对象转为jsonStudent student new Student(李四,22,lisiqq.com);return student;}RequestMapping(/list.do)ResponseBodypublic ListStudent doJsonArray(){//创建List对象转为jsonArrayListStudent students new ArrayList();students.add(new Student(李四,22,lisiqq.com));students.add(new Student(王五,23,wangwuqq.com));return students;}
}
当返回值为String类型时
返回字符串对象 若要返回非中文字符串将前面返回数值型数据的返回值直接修改为字符串即可。但若 返回的字符串中带有中文字符则接收方页面将会出现乱码。此时需要使用 RequestMapping 的 produces 属性指定字符集。 produces产品结果即该属性用于设置输出结果类型。