spring mvc JSON对象 局部刷新

第一步:导入JSON包
fastjson-1.2.47.jar
fastjson-1.2.47-sources.jar //源码

第二步:建立控制层的处理方法,方法前加@ResponseBody注解,异步处理,返回数据,不是返回视图

在这里插入图片描述

@RequestMapping("/useradd")
    @ResponseBody
    public Object userCodeIsExist(String username){
        Map<String,String> resultMap=new HashMap<String,String>();
        if(StringUtils.isNullOrEmpty(username)){  //判断字符串是空引用,或值为空。如username=null 或者如username="" 结果为true
            resultMap.put("username","flase");
            //return "flase";
        }else{
            resultMap.put("username","true");
            //return "true";
        }
        return JSONArray.toJSONString(resultMap);

    }

这里map也可以换成java baen 对象,返回JSON对象,也可以返回字符串。

第三步:视图层

<script type="text/javascript">
        function submitCommentTextarea(){
            var username=$("#username").val();
            $.getJSON("/chun/index/useradd","username="+username,submitCommentCallBack);
        }
        function submitCommentCallBack(data){
            if(data.username=="true"){
                alert("评论成功")
                $("#h1Index").html("成功");
            }else{
                alert("评论失败");
                $("#h1Index").html("失败");
            }
        }
    </script>

如果传送JSON对象去服务器,需要JSON.stringify(strObject) 转成JSON字符串后在传送

表单元素.serializeArray():from表单序列化

$.getJSON 接收JSON对 象。
g e t ( ) 或 者 get()或者 get()post()返回JSON字符串, $.parseJSON( data );转换成JSON对象;

g e t ( ) 和 get()和 get()post()写法一样。只是$get()方法需要在Tomcat服务器 catalina.properties配置文件里加上下面一条语句,这样传参才认识{}。
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}

如需设置请求前调用函数beforeSend,请求失败时被调用的函数error,请求完成后调用的函数complete,设置请求超时时间timeout,都只能用$.ajax({})方法。

解决中文乱码问题:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在 springmvc-servlet.xml设置:
 <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <!--设置消息处理器的编码格式-->
                        <value>application/json;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

解决JSON数据传递的日期格式:
第一种:
在java bean日期属性加上注解 @JSONField(format = “yyyy-MM-dd”)

	@DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date createDate;

第二种:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值