SpringMVC从Controller中响应json数据
2013-07-09 14:37
337 查看
在页面上异步获取Controller中响应的json数据。
页面代码:
view sourceprint?
Controller中的代码:
view sourceprint?
结果如下:
或者使用@ResponseBody,需要用到jackson相关的包。
页面:
view sourceprint?
Controller:
view sourceprint?
页面代码:
view sourceprint?
01.
<%@ page language="java" contentType="text/html; charset=UTF-8"
02.
pageEncoding="UTF-8"%>
03.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
04.
<
html
>
05.
<
head
>
06.
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=UTF-8"
>
07.
<
title
>User List</
title
>
08.
09.
<
script
type
=
"text/javascript"
src
=
"${pageContext.request.contextPath}/resource/script/jquery-1.9.1.min.js"
></
script
>
10.
<
script
type
=
"text/javascript"
>
11.
$(document).ready(function(){
12.
$("#button_getUser").click(function(){
13.
//异步请求json数据
14.
$.ajax({
15.
type:"POST",
16.
url:"${pageContext.request.contextPath}/user/getUserList",
17.
success:function(data){
18.
//迭代返回的json数据
19.
$.each(data,function(i,user){
20.
$("#results").append(user.userName+"---"+user.password+"<
br
>");
21.
});
22.
},
23.
error:function(e) {
24.
alert("出错:"+e);
25.
}
26.
});
27.
});
28.
});
29.
</
script
>
30.
31.
</
head
>
32.
<
body
>
33.
<
input
type
=
"button"
id
=
"button_getUser"
value
=
"获取用户列表"
><
br
>
34.
用户信息:<
br
>
35.
<
div
id
=
"results"
>
36.
37.
</
div
>
38.
</
body
>
39.
</
html
>
Controller中的代码:
view sourceprint?
01.
@RequestMapping
(
"/getUserList"
)
02.
public
String getUserList(HttpServletResponse response) {
03.
response.setCharacterEncoding(
"UTF-8"
);
04.
response.setContentType(
"application/json"
);
05.
06.
List<User> userList = getUsers();
07.
Gson gson =
new
Gson();
08.
String json = gson.toJson(userList);
09.
System.out.println(
"json---"
+json);
10.
PrintWriter out =
null
;
11.
try
{
12.
out = response.getWriter();
13.
out.write(json);
14.
out.flush();
15.
}
catch
(Exception e) {
16.
e.printStackTrace();
17.
}
finally
{
18.
if
(out !=
null
) {
19.
out.close();
20.
}
21.
}
22.
23.
return
"/user/userList"
;
24.
}
25.
26.
private
List<User> getUsers() {
27.
List<User> users =
new
ArrayList<User>();
28.
29.
User user1 =
new
User();
30.
user1.setUserName(
"李坏"
);
31.
user1.setPassword(
"LiHuai"
);
32.
33.
User user2 =
new
User();
34.
user2.setUserName(
"阿飞"
);
35.
user2.setPassword(
"aFei"
);
36.
37.
User user3 =
new
User();
38.
user3.setUserName(
"陆小凤"
);
39.
user3.setPassword(
"LuXiaoFeng"
);
40.
41.
users.add(user1);
42.
users.add(user2);
43.
users.add(user3);
44.
45.
return
users;
46.
}
结果如下:
或者使用@ResponseBody,需要用到jackson相关的包。
页面:
view sourceprint?
01.
<%@ page language="java" contentType="text/html; charset=UTF-8"
02.
pageEncoding="UTF-8"%>
03.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
04.
<
html
>
05.
<
head
>
06.
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=UTF-8"
>
07.
<
title
>User List</
title
>
08.
09.
<
script
type
=
"text/javascript"
src
=
"${pageContext.request.contextPath}/resource/script/jquery-1.9.1.min.js"
></
script
>
10.
<
script
type
=
"text/javascript"
>
11.
$(document).ready(function(){
12.
$("#button_getUser").click(function(){
13.
//异步请求json数据
14.
$.ajax({
15.
type:"POST",
16.
url:"${pageContext.request.contextPath}/user/getUserList",
17.
success:function(data){
18.
//迭代返回的json数据
19.
$.each(data.users,function(i,user){
20.
$("#results").append(user.userName+"---"+user.password+"<
br
>");
21.
});
22.
},
23.
error:function(e) {
24.
alert("出错:"+e);
25.
}
26.
});
27.
});
28.
});
29.
</
script
>
30.
31.
</
head
>
32.
<
body
>
33.
<
input
type
=
"button"
id
=
"button_getUser"
value
=
"获取用户列表"
><
br
>
34.
用户信息:<
br
>
35.
<
div
id
=
"results"
>
36.
37.
</
div
>
38.
</
body
>
39.
</
html
>
Controller:
view sourceprint?
1.
@RequestMapping
(
"/getUserList"
)
2.
@ResponseBody
3.
public
Map<String,Object> getUserList() {
4.
Map<String,Object> resultMap =
new
HashMap<String,Object>();
5.
List<User> userList = getUsers();
6.
resultMap.put(
"users"
, userList);
7.
return
resultMap;
8.
}
相关文章推荐
- SpringMVC从Controller中响应json数据
- SpringMVC从Controller中响应json数据
- SpringMVC从Controller中响应json数据
- 详解springmvc之json数据交互controller方法返回值为简单类型
- SpringMVC从Control中响应json数据
- SpringMVC中controller接收Json数据
- SpringMVC实现JSON数据的请求与响应
- SpringMVC中controller返回json数据的两种方法
- 通过Ajax进行POST提交JSON类型的数据到SpringMVC Controller的方法
- springmvc之json数据交互controller方法返回值为简单类型
- ajax发送json数据到springmvc的controller
- SpringMVC从Control中响应json数据
- springMvc接收/响应json数据
- springMvc中前台ajax传json数据后台controller接受对象为null
- SpringMVC 异步发送表单数据到JavaBean,并响应JSON文本返回
- 通过Ajax进行POST提交JSON类型的数据到SpringMVC Controller的方法
- Springmvc异步发送表单数据到JavaBean,并响应JSON文本返回 (14)
- SpringMVC作为Controller向前端传递JSON数据,前端用Extjs接收
- 关于SpringMVC 中服务器端如何响应 AJAX 请求(即controller是如何返回json的)
- springmvc中,异步发送表单数据到Action,并响应Json文本返回(后端代码)