zoukankan      html  css  js  c++  java
  • 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")
  • 相关阅读:
    OGNL和Struts2标签
    Struts2中使用Servlet API步骤
    Struts2配置详解
    Strust的基础情况
    分页套用
    删除(注意,删除后,后面顶上去,所以id会一直变,所以我们用class来定义,因为id是唯一的)
    搭建SpringMVC+Mybatis框架并实现数据库的操作
    使用映射接口实现数据库的操作
    django 路由系统
    http协议
  • 原文地址:https://www.cnblogs.com/zjc364259451/p/11456438.html
Copyright © 2011-2022 走看看