• 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")
  • 相关阅读:
    mysql导出表的数据,在导入
    oracle数据迁移到mysql
    mybatis-使用generator反向数据库表并生成dao和mapping映射
    SQLserver单表数据导入导出
    java内省
    java反射
    springmvc文件上传
    Dubbo学习笔记8:Dubbo的集群容错与负载均衡策略
    Dubbo学习笔记7:Dubbo增强SPI与SPI中扩展点自动包装的实现原理
    Dubbo学习笔记6:Dubbo整体框架分析
  • 原文地址:https://www.cnblogs.com/zjc364259451/p/11456438.html
Copyright © 2020-2023  润新知