1 springmvc和ajax的交互

1.1  请求字符串响应json

客户端发送的数据:key=value&key1=value1

响应回来:json

1.1.1json的支持jar包

1.1.2建立Handler处理器

 package org.guangsoft.controller;

 import java.util.ArrayList;
import java.util.List; import org.guangsoft.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
public class UserHandler
{
//responseBody将返回值转化为json格式响应到客户端
//requestBody将请求数据转化为json对象
@RequestMapping("/checkUsername")
public @ResponseBody List<User> CheckUsername(User user)
{
System.out.println(user.getUsername());
List<User> userList = new ArrayList<User>();
User user0 = new User();
user0.setUsername("java");
User user1 = new User();
user1.setUsername("javase");
User user2 = new User();
user2.setUsername("javaee");
//对象加入集合
userList.add(user0);
userList.add(user1);
userList.add(user2);
return userList;
} @RequestMapping("/checkUsername2")
public @ResponseBody List<User> CheckUsername2(@RequestBody User user)
{
System.out.println(user.getUsername());
List<User> userList = new ArrayList<User>();
User user0 = new User();
user0.setUsername("java");
User user1 = new User();
user1.setUsername("javase");
User user2 = new User();
user2.setUsername("javaee");
//对象加入集合
userList.add(user0);
userList.add(user1);
userList.add(user2);
return userList;
}

1.1.3完成ajax发送请求

备注:springmvc ajax,响应json406错误,使用json相关jar包2.4以上版本。

 function sendAjax()
{
var username = $("#username").val();
var age = $("#age").val();
var div = $("#showDiv");
$.ajax(
{
url:"checkUsername.action",
data:{"username":username,"age":age},
type:"post",
dataType:"json",
success:function(data)
{
var jsons = data;
div.html("");
for(var i = 0; i < jsons.length; i++)
{
div.append("<div>"+jsons[i].username+"</div>");
}
}
});

1.2请求json响应json

客户端发送的数据:{key:value,key1:value1}

响应回来:json

1.2.1 建立服务器端Handler

见上

1.2.2客户端发生ajax请求

 function sendAjax2()
{
var username = $("#username").val();
var age = $("#age").val();
var div = $("#showDiv");
$.ajax(
{
url:"checkUsername2.action",
type:"post",
data:'{"username":"username","age":"4"}',
contentType:"application/json;charset=utf-8",
dataType:"json",
success:function(data)
{
var jsons = data;
div.html("");
for(var i = 0; i < jsons.length; i++)
{
div.append("<div>"+jsons[i].username+"</div>");
}
}
});
}

2url跳转

Model封装数据的范围request范围,只有请求转发才能获取

如果是重定向变为url传参。

Return “forward:url”:请求转发

Return “redirect:url”重定向

SpringMVC与Ajax交互的更多相关文章

  1. SpringMVC和AJAX交互

    在实际开发中我们经常需要前后台交互,那么springmvc与ajax之间交互这里记录下在实际开发中遇到的细节问题. jsp页面: <fieldset id="login" s ...

  2. springmvc与ajax交互常见问题

    这是我个人再编写博客系统的时候,因个人疏忽犯下的低级错误. 不过犯错是一件好事,有助于总结. 1.关于参数前加@RequestBody 如果是使用ajax交互时,必须要加上这个contentType: ...

  3. content-type常见类型辨析(以ajax与springmvc前后端交互为例)

    博客搬家: content-type常见类型辨析(以ajax与springmvc前后端交互为例) 在http报文的首部中,有一个字段Content-type,表示请求体(entity body)中的数 ...

  4. springMvc 使用ajax上传文件,返回获取的文件数据 附Struts2文件上传

    总结一下 springMvc使用ajax文件上传 首先说明一下,以下代码所解决的问题 :前端通过input file 标签获取文件,通过ajax与后端交互,后端获取文件,读取excel文件内容,返回e ...

  5. springmvc实现json交互 -requestBody和responseBody

    json数据交互 1.为什么要进行json数据交互 json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如:webservice接口,传输json数据. 2. ...

  6. SpringMVC实现AJax以及RestFull风格

    RestFull风格就是url路径中不能出现?不能带参数,如https://www.baidu.com/user/item/1234这个格式,也叫url资源定位 1.需要在web.xml中开启put, ...

  7. ThinkPHP中使用ajaxReturn进行ajax交互

    以管理员登录为例来介绍下$this->ajaxReturn与模板页进行ajax交互使用方法 首先看PHP控制器的处理,在application/Admin/Controller/LoginCon ...

  8. struts2 的验证框架validation如何返回json数据 以方便ajax交互

    struts2 的验证框架validation简单,好用,但是input只能输出到jsp页面通过struts2的标签<s:fielderror  />才能取出,(EL应该也可以). 如果使 ...

  9. SpringMVC——对Ajax的处理(包含 JSON 类型)

    一.首先要搞明白的一些事情. 1.从客户端来看,需要搞明白: (1)要发送什么样格式的 JSON 数据才能被服务器端的 SpringMVC 很便捷的处理,怎么才能让我们写更少的代码,如何做好 JSON ...

随机推荐

  1. LeetCode-9-Palindrome Number

    Determine whether an integer is a palindrome. Do this without extra space. 判断一个整数是否是回文数. 思路:求出数字abcd ...

  2. 怎么在Microsoft Project中冻结列

    在用Project排项目计划的时候如果在Gantt图中列比较多,左右滚动的时候就会经想像如果能想Excel一样冻结某些列就方便多了,其实在Project中虽然没有冻结列的功能,但通过一些变通方法还是可 ...

  3. UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)

    UML类图关系(泛化 .继承.实现.依赖.关联.聚合.组合) 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父 ...

  4. select,poll,epoll比较

    除常用文件i/o外,其他常用io模型:io多路复用(select和poll系统调用)信号驱动I/Olinux专有的epoll编程接口异步io(aio),linux在glibc中提供有基于线程的 pos ...

  5. 前端相关html和css

    #请参考http://www.cnblogs.com/pycode/p/5792142.html #html css 和js说明 ##1.什么是html? HTML(HyperText MarkUp ...

  6. VS2013单元测试 的安装、创建与执行

    1.要运行 vs2013单元测试 ,那么打开VS2013,选择工具-扩展和更新,搜索并安装Unit Test Generator. 如果不安装是不会出现Generate Unit Test的选项的,也 ...

  7. Day2-python基础2

    本次学习内容 1.for循环 2.continue and break 3.while循环 4.运算符 5.数据类型 数字 字符串 列表 1.for循环 猜年龄的游戏完善下,只有三次机会 for i ...

  8. ADMM与one-pass multi-view learning

    现在终于开始看论文了,机器学习基础部分的更新可能以后会慢一点了,当然还是那句话宁愿慢点,也做自己原创的,自己思考的东西.现在开辟一个新的模块----多视图学习相关论文笔记,就是分享大牛的paper,然 ...

  9. WebService如何调试及测试工具

    http://www.cnblogs.com/zfanlong1314/archive/2012/04/06/2434788.html 通常,我们在Visual Studio里调试ASP.NET网站, ...

  10. 从yield关键字看IEnumerable和Collection的区别

    C#的yield关键字由来以久,如果我没有记错的话,应该是在C# 2.0中被引入的.相信大家此关键字的用法已经了然于胸,很多人也了解yield背后的“延迟赋值”机制.但是即使你知道这个机制,你也很容易 ...