• springMVC(五)——完成Ajax功能


    使用Ajax接收和传输参数

    1、Controller返回的类型为text类型的方式.

    @Controller
    public class UserAnnotation {    
        @RequestMapping("info")
        @ResponseBody
        public String list(String name) {
            System.out.println(name);
            return "";
        }
        
        
    }

    前台用下面的Jquery代码调用

    <script type="text/javascript">
        $.get("info",{"name":"张三"},function(data){
            alert(data);
        })
    </script>

    2、 Controller返回的类型为JSON对象的方式

      2.1、首先要导入解析的jackson包

      2.2、在响应的方法上加上@ResponseBody :把java对象转化为json对象。

      2.3、方法的返回值可以是对象集合字符串。

    代码如下:

    @Controller
    public class UserAnnotation {
        
        @RequestMapping("info")
        @ResponseBody     //把Java对象转化为json对象,需要使用jackson的jar包
       public User list() { User user = new User("张三",18) return user; } }

     前台用下面的Jquery代码调用

    <script type="text/javascript">
        $.get("info",function(data){
            alert(data.uname+"   "+data.age);
        })
    </script>

     ajax返回的为字符串,出现乱码解决方法

    出现乱码的原因是,可以从下图中看出,源码中设置了编码格式为ISO-8859-1

     

    解决方法

    第一种

    在springmvc的配置文件配置如下代码:

              

        <!--开启注解驱动AnnotationHandlerMapping  -->
        <mvc:annotation-driven>
            <mvc:message-converters>
                <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <constructor-arg index="0" value="utf-8"></constructor-arg>
                </bean>
            </mvc:message-converters>
        </mvc:annotation-driven>

    第二种

    在@RequestMapping中加入编码设置,如下

    @RequestMapping(value="info" ,produces="text/html;charset=UTF-8")
  • 相关阅读:
    8-16 不无聊序列 non-boring sequences uva1608
    8-8 Ddfense Line uva1471 优先级队列
    8-12 Erratic Expansion uva12627
    8-4 Fabled Rooks uva11134
    8-10 Coping Books uva714
    8-13 Just Finish it up uva11093
    8-11 Add All uva 10954
    8-2 Building for UN Uva1605
    css定位.py
    处理HTML5视频播放.py
  • 原文地址:https://www.cnblogs.com/zjc364259451/p/11456438.html
Copyright © 2020-2023  润新知