spring mvc 返回json


服務器端返回的是文本,客戶端得到文本后將文本轉換成json就可以了,服務器端將對象轉換成json 的文本形式,並且需要設定文本的類型為text/plain,charset=UTF-8

所以在 application-context 中添加StringConverter及jsonConvert的bean 以及servlet mvc 注解處理適配器

<bean id="stringConverter"

        class="org.springframework.http.converter.StringHttpMessageConverter">

        <property name="supportedMediaTypes">

            <list>

                <value>text/plain;charset=UTF-8</value>

            </list>

        </property>

    </bean>

 

    <!-- 用於將對象轉換為 JSON  -->

    <bean id="jsonConverter"

        class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>

    <bean

        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

        <property name="messageConverters">

            <list>

                <ref bean="stringConverter" />

                <ref bean="jsonConverter" />

            </list>

        </property>

    </bean>

在Controller 函數中要表明 返回值是ResponseBody的內容

    @RequestMapping("/ajax2.do")

    public @ResponseBody UserInfo ajax2(String userId){

       

        System.out.println(userId);

        UserInfo user = new UserInfo();

        if("1001".equals(userId)){

            user.setUserId(1001);

            user.setUserName("悟空");

        }else{

            user.setUserId(1002);

            user.setUserName("八戒");

        }

   

        return user;

    }

Js 代碼

$("#but2").click(function(){

           

            $.post("ajax2.do",{userId:$("#userId2").val()},function(data){

               

                $("#info2").html(data.userId+"---"+data.userName);

               

            },"json");

});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM