<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會把它處理成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形式的數據,注意要加上 @ResponseBody

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

    spring3---ajax---json
    網上搜索到一般都是這樣:

     

    $(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(
    "失敗");
                  }

             }
    );
        }
    ); 
    }
    );

    我覺得這個方法寫得太復雜了,于是改了它:

    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""導入成功!");

            
    return result;
        }
        

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

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

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

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


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


    網站導航:
     

    My Links

    News

    留言簿(18)

    隨筆檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 亚洲欧美成人一区二区三区| 亚洲av麻豆aⅴ无码电影| 亚洲av无码一区二区三区乱子伦 | 亚洲另类激情综合偷自拍| 国产做国产爱免费视频| 亚洲视频在线精品| 黄色视屏在线免费播放| 亚洲中文字幕在线观看| 精品免费tv久久久久久久| 亚洲AV午夜成人片| 99re在线视频免费观看| 亚洲影视自拍揄拍愉拍| 毛片免费视频播放| 亚洲a∨无码精品色午夜| 亚洲国产一区视频| 成人电影在线免费观看| 亚洲精品在线播放| 好爽好紧好大的免费视频国产| 国产在亚洲线视频观看| 在线精品亚洲一区二区三区| 国产一级淫片a免费播放口| 1区1区3区4区产品亚洲| 久久这里只有精品国产免费10| 国产亚洲精品2021自在线| 亚洲精品无码av人在线观看| 8x8x华人永久免费视频| 亚洲熟女综合一区二区三区| 国产一区二区三区无码免费| 免费无码又爽又刺激高潮软件| 亚洲国产理论片在线播放| 免费国产成人高清视频网站| 久久国产乱子伦精品免费强| 学生妹亚洲一区二区| 亚洲精品成人久久久| 91精品免费久久久久久久久| 亚洲国产成人AV网站| 亚洲嫩模在线观看| 国产一级淫片a视频免费观看| 日韩人妻无码精品久久免费一| 亚洲中文字幕乱码一区| 亚洲人成网站18禁止一区|