您的位置:首页 > 编程语言 > Java开发

SpringMVC使用ajax返回json

2017-03-31 23:16 309 查看
使用
jquery
向数据数中添加文章分类,同时更新页面信息。



点击加号添加
类别
分类

ajax
内容

$.post("/tag/create", {
name : $("#newTag").val()
},
function (resultJson) {
if(resultJson !== null) {
var result = eval("(" + resultJson + ")");
$("#allTags").append("<span style=\"margin-left: 2px; margin-right: 2px;\" class=\"btn btn-primary\">" + result.name + "</span>");
$("#newTag").val("");
}
});


Controller
控制器:

@Controller
@RequestMapping("/tag")
public class TagController {

@Autowired
@Qualifier("tagService")
private TagService tagService;

@RequestMapping(value = "/create", method = RequestMethod.POST)
@ResponseBody
public void createTag(@RequestParam("name") String name,
HttpSession session,
HttpServletResponse response) throws IOException {
System.out.println("name = " + " " + name);
Tag saveTag = tagService.createTag(name, session);
if(saveTag != null) {
ObjectMapper mapper = new ObjectMapper();
response.setContentType("text/html;charset=utf8");
response.getWriter().println(mapper.writeValueAsString(saveTag));
}
}

}


createTag
方法将传送的分类名称保存到数据库中。

@ResponseBody
该注解用于将
Controller
的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

jackson
包下的
ObjectMapper
类能够将
Java
类转化为
Json
类型。

response.setContentType("text/html;charset=utf8");
这一步很重要,保证中文不会乱码

response.getWriter().println(mapper
4000
.writeValueAsString(saveTag));
通过
PrintWriter
将结果显示到页面。

在页面中点击加号按钮后结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: