zoukankan      html  css  js  c++  java
  • springmvc(8)ajax&json处理

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

    @Controller
    public class AjaxController {
        @RequestMapping("ajax.do")
        public void ajax(String name, HttpServletResponse response) throws IOException {
            if (name.equals("zh")){
                response.getWriter().println("true");
            }else{
                response.getWriter().println("false");
            }
        }
    }

    jsp页面:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>$Title$</title>
          <script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
          <script>
              $(function () {
                  $("input[name='name']").blur(function () {
                      $.ajax({
                          url:"ajax.do",
                          data:{name:$("input[name='name']").val()},
                          success:function (data) {
                              alert(data);
                          }
                      })
                  })
              })
          </script>
      </head>
      <body>
    <input type="text" name="name" value="">
      </body>
    </html>

    当打开jsp页面时,系统会请求js文件,如果说你的dispatcherServler拦截的是“/”,而你有没有对静态资源做其他配置,此时请求js文件的请求也会被拦截,那么就会找不到js文件,解决办法是要么你别拦截所有请求,要么你对静态资源的访问做其他配置。

    2.springmvc处理json

    a)导入jar包:

    jackson-annotations-2.9.9.jar
    jackson-core-2.9.9.jar
    jackson-databind-2.9.9.jar

    b)配置json类型转换器:

    <!--用于将对象转换为json-->
        <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>
                    <ref bean="jsonConverter"></ref>
                </list>
            </property>
        </bean>

    c)controller代码:

    @RequestMapping("json.do")
        @ResponseBody
        public List<User> json(String name, HttpServletResponse response) throws IOException {
            List<User> list = new ArrayList<>();
            list.add(new User("张三","123"));
            list.add(new User("李四","456"));
            return list;
        }
  • 相关阅读:
    java基础-BigDecimal类常用方法介绍
    java基础-BigInteger类常用方法介绍
    java基础-Arrays类常用方法介绍
    java基础-Math类常用方法介绍
    java基础-System类常用方法介绍
    java基础-Integer类常用方法介绍
    java基础-数组的折半查找原理
    Java基础-数组常见排序方式
    Java基础-日期格式化DateFormat类简介
    Java基础-Calendar类常用方法介绍
  • 原文地址:https://www.cnblogs.com/yuby/p/11048023.html
Copyright © 2011-2022 走看看