海阔天空

当前时间为:
欢迎大家来到海阔天空https://www.9713job.com,广告合作以及淘宝商家推广请微信联系15357240395

2020java框架教程之springMVC的json类型

未分类
2020-12-16 10:26:10
1822677238@qq.com

手机扫码查看

2020java框架教程之springMVC的json类型

2020java框架教程之spring的json类型

1.jackson

<!-- jackson -->
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.12.0</version>
</dependency>

控制层:

//json查询所有
@ResponseBody
@RequestMapping(value = "/listjson",method = RequestMethod.GET)
public Collection<User> listjson(){
    return usersDao.getAll();
}

2.gson

<!-- gson  -->
<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.8.0</version>
</dependency>

3.jsonp

控制层:

//jsonp
@RequestMapping(value = "/jsonp",method = RequestMethod.GET)
public void jsonp(String callback, HttpServletResponse response){
    Collection<User> list = usersDao.getAll();
    Gson gson=new Gson();
    String json = gson.toJson(list);
    PrintWriter writer = null;
    try {
        writer = response.getWriter();
    } catch (IOException e) {}
    writer.println(callback+"("+json+")");
}

脚本:

<script>
    function showdata(data){
        console.log(data);
    }
</script>
<script src="${pageContext.request.contextPath}/admin/jsonp?callback=showdata"></script>

json数据类型的提交

控制层:

@RequestMapping(value = "save-json",method = RequestMethod.POST)
public String savejson(@RequestBody User user){
    System.out.println(user);
    System.out.println("savejson");
    usersDao.save(user);
    return "redirect:/admin/list";
}

添加表单页:

将表单的提交按钮改成

<button type="button" id="jsonBtn">submit</button>
<script src="${pageContext.request.contextPath}/lib/js/jquery-3.3.1.min.js"></script>
<script>
    $(function(){
        $("#jsonBtn").click(function(){
            var row={
                username:$("#username").val(),
                password:$("#password").val(),
                age:$("#age").val()
            }
            $.ajax({
                url:'save-json',
                type:'post',
                contentType:'application/json;charset=utf-8',
                data:JSON.stringify(row)
            });
        });
    });
</script>

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注