<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    afunms

    My Software,My Dream—Forge a more perfect NMS product.

    spring3 json ajax

    spring3---json
    在applicationContext.xml中加入

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">   
            
    <property name="messageConverters">   
                
    <util:list id="beanList">   
                    
    <ref bean="mappingJacksonHttpMessageConverter" />   
                
    </util:list>   
            
    </property>   
        
    </bean>   

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

    這樣在action方法加返回bean或map,spring3會(huì)把它處理成json格式。如:



    @Controller 
    public class JsonTestController 
        @RequestMapping(
    "/getJsonList"
        @ResponseBody 
        
    public List<ItemTest> searchItemsList() 
        

            ItemTest item 
    = new ItemTest(); 
            item.setItemnum(
    "123"); 
            item.setItemDesc(
    "123desc"); 

            ItemTest item1 
    = new ItemTest(); 
            item1.setItemnum(
    "456"); 
            item1.setItemDesc(
    "456desc"); 
            List
    <ItemTest> list = new ArrayList<ItemTest>(); 
            list.add(item); 
            list.add(item1); 
            
    return list; 
        }


    }


    訪問(wèn)getJsonList.do返回的就是json形式的數(shù)據(jù),注意要加上 @ResponseBody

    ================================================

    spring3---ajax---json
    網(wǎng)上搜索到一般都是這樣:

     

    $(function(){
        $(
    "#doImport").click(
           
    function(){
              
    var importInfo = $("#importInfo").serializeObject();
              $.ajax(
    {
                  url:
    "${base}cmb/doImport.do",
                  contentType :
    "application/json",
                  cache:
    false,
                  type:
    "POST",
                  data:JSON.stringify(importInfo),
                  dataType:
    "json",
                  success: 
    function(data){
                   $('#result').val(data.message)
                   alert(data.message);       
                  }
    ,
                  error:
    function(){
                      alert(
    "失敗");
                  }

             }
    );
        }
    ); 
    }
    );

    我覺得這個(gè)方法寫得太復(fù)雜了,于是改了它:

    function doImport(){    
        $.ajaxSetup(
    { cache:false });

        
    var data = {excelFileName:$("#excelFileName").val(),
                    sheetName:$(
    "#sheetName").val(),
                    tableName:$(
    "#tableName").val(),
                    startRow:$(
    "#startRow").val(),
                    startCol:$(
    "#startCol").val()}

        
        $.getJSON(
    "${base}cmb/doImport.do",data,function(form){
                   $(
    "#result").val(form.message);
                   alert(form.message); }
    );
    }

    action:

    @RequestMapping("/cmb/doImport.do")
        public @ResponseBody Map
    <String,String> doImport(HttpServletRequest request, ModelMap model){
            System.out.println(
    "===doImport===>>" + DateUtil.getCurrentDateTime());
            String excelFileName 
    = request.getParameter("excelFileName");
            String sheetName 
    = request.getParameter("sheetName");        
            String tableName 
    = request.getParameter("tableName");
            
    int startRow = Integer.parseInt(request.getParameter("startRow"));        
            
    int startCol = Integer.parseInt(request.getParameter("startCol"));    
     
            System.out.println(
    "excelFileName=" + excelFileName);
            System.out.println(
    "sheetName=" + sheetName);
            System.out.println(
    "tableName="+tableName);
            System.out.println(
    "startRow="+startRow);
            System.out.println(
    "startCol="+startCol);
            
            Map
    <String,String> result = new HashMap<String,String>(); 
            result.put(
    "message""導(dǎo)入成功!");

            
    return result;
        }
        

    注意以下幾點(diǎn):
    1. ajax必須清緩存:$.ajaxSetup({ cache:false });

    2. 將表單的數(shù)據(jù)組成json格式:
    var data = {excelFileName:$("#excelFileName").val(),
           sheetName:$("#sheetName").val(),
           tableName:$("#tableName").val(),
           startRow:$("#startRow").val(),
           startCol:$("#startCol").val()};
    # XX與表單組件中的ID對(duì)應(yīng),如
    <input type="hidden" id="excelFileName" value="${excelFileName}" />

    3.表單上必須有一個(gè)地方能存放返回值:
    <input type="hidden" id="message" />
    action中的返回值為json格式, 
    $("#result").val(form.message) 這句話將返回值中的result屬性取出賦給表單中的message

    posted on 2011-10-31 10:29 afunms 閱讀(952) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    My Links

    News

    留言簿(18)

    隨筆檔案

    相冊(cè)

    搜索

    最新評(píng)論

    閱讀排行榜

    主站蜘蛛池模板: 中文字幕亚洲精品资源网| 国产激情久久久久影院老熟女免费| 亚洲精品NV久久久久久久久久| 无遮免费网站在线入口| 国产一区二区三区免费观在线| 亚洲欧美不卡高清在线| 亚洲韩国在线一卡二卡| 亚洲精品V欧洲精品V日韩精品| 免费在线一级毛片| 久久久久久久久免费看无码| 久久青草国产免费观看| 好湿好大好紧好爽免费视频 | 在线观看免费黄网站| 午夜在线亚洲男人午在线| 亚洲AV综合色区无码二区爱AV| 亚洲AV无码专区国产乱码4SE| 亚洲精品成人a在线观看| 毛片免费观看网址| 91免费人成网站在线观看18| 日韩午夜理论免费TV影院| 中文在线观看国语高清免费| 又粗又长又爽又长黄免费视频 | free哆拍拍免费永久视频| 国产精品亚洲二区在线| 亚洲国产精品18久久久久久| 久久乐国产综合亚洲精品| 精品国产成人亚洲午夜福利| 亚洲二区在线视频| 亚洲国产成人精品激情| 久久精品国产亚洲AV蜜臀色欲| 亚洲女人影院想要爱| 亚洲电影在线免费观看| 亚洲一区在线免费观看| 亚洲国产成a人v在线观看| 亚洲综合色7777情网站777| 亚洲av日韩av无码av| 久久亚洲最大成人网4438| 亚洲日韩精品国产一区二区三区| 一本色道久久88亚洲精品综合| 亚洲综合中文字幕无线码| 亚洲中文字幕无码av永久|