Spring MVC中ajax的处理

来源:互联网 发布:吉林十一选五遗漏数据 编辑:程序博客网 时间:2024/05/22 09:02

1 .使用HttpServletResponse来处理——不需要配置解析器

@RequestMapping("/ajax")    public  void ajax(String name,HttpServletResponse  resp) throws IOException{        if("siggy".equals(name)){            resp.getWriter().print("true");        }        else{            resp.getWriter().print("false");        }    }
//头文件省略<script type="text/javascript"  src="js/jquery-1.3.2.min.js"></script>  </head>  <script type="text/javascript">  /* $(document).ready(function() 类似*/  $(function(){     /* blur意思就是不聚焦的时候触发,val()返回textName的内容,如果val()有参数就是给textName赋值,     val() 方法返回或设置被选元素的值 */      $("#textName").blur(function(){        $.post("ajax.do",{'name':$("#textName").val()},function(data){            alert(data);        })        }    )  });  </script>  <body>  用户名  <input type="text"  id="textName"><br>  </body></html>

2 . Spring MVC处理json数据

(1) 导入相关jar包(下载jackson jar包)
(2) 配置json转换器,不用记,用的时候拷贝,暂时没在文档内找到

<!--用于将对象转化为json  -->    <!-- @ResponseBody之后返回字符串中中文可能会出现乱码,        因为sping mvc默认是text/plain;charset=ISO-8859-1,所以要在mvc.xml配置charset -->    <bean id="stringConverter"    class="org.springframework.http.converter.StringHttpMessageConverter">    <property  name="supportedMediaTypes">        <list>            <value>text/plain;charset=UTF-8</value>        </list>    </property>    </bean>    <bean id="jsonConverter"    class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">    </bean>    <bean  class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">        <property name="messageConverters">            <list>                <ref bean="stringConverter"/>                <ref bean="jsonConverter"></ref>            </list>        </property>    </bean>

(3) Controller类

    @RequestMapping("/json")    @ResponseBody//  @ResponseBody 将内容或对象作为 HTTP 响应正文返回,使用@ResponseBody将会跳过视图处理部分,//  而是调用合适HttpMessageConverter,将返回值写入输出流。//  @ResponseBody之后返回字符串中中文可能会出现乱码,//  因为sping mvc默认是text/plain;charset=ISO-8859-1,所以要在mvc.xml配置charset    public  List<User> json(){        List<User>  list=new ArrayList<User>();        list.add(new User(1,"张三","男"));        list.add(new User(2,"李四","男"));        list.add(new User(3,"王五","女"));        return list;    }
public class User {    private int id;    private String name;    private String sex;    public User() {        super();    }    public User(int id, String name, String sex) {        super();        this.id = id;        this.name = name;        this.sex = sex;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }}

(4)页面

<script type="text/javascript"  src="js/jquery-1.3.2.min.js"></script>  </head>  <script type="text/javascript">  /* $(document).ready(function() 类似*/  $(function(){     /* blur意思就是不聚焦的时候触发,val()返回textName的内容,如果val()有参数就是给textName赋值,     val() 方法返回或设置被选元素的值 */      $("#btn").click(function(){        $.post("json.do",function(data){            var html="";            for(var i=0;i<data.length;i++){                html+="<tr><td>"+data[i].id+"</td><td>"+data[i].name+"</td><td>"+data[i].sex+"</td><tr>";            }            $("#context").html(html);         })      }    )  });  </script>  <body>    <input type="button"  id="btn" value="获取数据"><br>    <table width="80%"  align="center">        <tr>            <td>编码</td>            <td>姓名</td>            <td>性别</td>        </tr>           <tbody id="context"></tbody>    </table>  </body></html>
原创粉丝点击