<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; 
        }


    }


    訪問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對應(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 閱讀(955) 評論(0)  編輯  收藏


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


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

    My Links

    News

    留言簿(18)

    隨筆檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 国产成人亚洲影院在线观看| 亚洲高清日韩精品第一区| 黄色视屏在线免费播放| 亚洲AV无码国产丝袜在线观看| 99久久99这里只有免费费精品| 亚洲AV日韩综合一区| 亚洲午夜久久久久久久久久 | 国产男女爽爽爽免费视频| 亚洲欧洲免费视频| 日韩免费毛片视频| 一级毛片免费观看不卡的| 国产精品久久久久久亚洲小说| 亚洲AV无码乱码在线观看富二代 | 中文字幕日韩亚洲| 日本阿v免费费视频完整版| 永久免费无码日韩视频| 亚洲高清中文字幕| 亚洲日韩中文字幕日韩在线| 无码av免费毛片一区二区| 一个人看的www视频免费在线观看| 亚洲欧洲日产国码二区首页| 亚洲国产精品毛片av不卡在线 | 亚洲国产综合精品一区在线播放| 精品无码人妻一区二区免费蜜桃| 看亚洲a级一级毛片| 亚洲系列中文字幕| 亚洲国产一二三精品无码| 国产成人免费a在线资源| 69视频免费在线观看| 久久久久久久久久久免费精品| 亚洲日韩亚洲另类激情文学| 亚洲黄色在线观看网站| 亚洲国产成人精品91久久久| 久久不见久久见中文字幕免费 | 野花香高清视频在线观看免费| 天天综合亚洲色在线精品| 亚洲va久久久久| 亚洲高清资源在线观看| 亚洲另类激情综合偷自拍图| 亚洲国产电影av在线网址| 成人毛片免费观看视频在线|