下面是官方文档对于@responsebody注解的解释:
1
2
3
4
5
6
7
8
9
10
11
12
|
mapping the response body with the @responsebody annotation the @responsebody annotation is similar to @requestbody . this annotation can be put on a method and indicates that the return type should be written straight to the http response body (and not placed in a model, or interpreted as a view name). for example: @requestmapping (path = "/something" , method = requestmethod.put) @responsebody public string helloworld() { return "hello world" ; } the above example will result in the text hello world being written to the http response stream. as with @requestbody , spring converts the returned object to a response body by using an httpmessageconverter. for more information on these converters, see the previous section and message converters. |
@resopnsebody注解能够 直接把 控制器返回变量(string)直接 返回给浏览器,也可以通过配置 后,把 对象 序列化成json数据返回给浏览器!如果为 null 就会返回空白。
怎么配置呢 ?需要配置messageconverter:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<bean class = "org.springframework.web.servlet.mvc.annotation.annotationmethodhandleradapter" > <property name= "messageconverters" > <list> <ref bean= "mappingjackson2httpmessageconverter" /> </list> </property> </bean> <bean id= "mappingjackson2httpmessageconverter" class = "org.springframework.http.converter.json.mappingjackson2httpmessageconverter" > <property name= "supportedmediatypes" > <list> <value>text/html;charset=utf- 8 </value> <value>text/json;charset=utf- 8 </value> <value>application/json;charset=utf- 8 </value> </list> </property> </bean> |
下面贴出在官方文档中的位置:
这个需要jackson jar包支持,需要 jackson-annotations,jackson-core,jackson-databind三个包,:
控制器代码:
1
2
3
4
5
6
7
|
@requestmapping ( "house/classmanager/addbyajax" ) @responsebody public hanblog_class classmanager_addbyajax(httpservletrequest request){ if (request.getsession().getattribute( "hanblog_uid" )== null ) return null ; hanblog_class objclass= new hanblog_class(); return objclass; } |
jquery代码:
1
2
3
4
5
6
7
8
9
|
//|增加 $( "#hanblog_add_btn" ).click(function(){ var classname=$( "#add_input_name" ).val(); var classintroduction=$( "#add_input_introduction" ).val(); alert( "分类名称:" +classname+ "分类介绍:" +classintroduction); $.get( "<c:url value=" /house/classmanager/addbyajax. do " />" ,function(result){ alert(result); }); }); |
运行返回例子:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/u012997311/article/details/51982461