<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)論

    閱讀排行榜

    主站蜘蛛池模板: 皇色在线免费视频| 亚洲一区在线免费观看| 极品美女一级毛片免费| 免费乱理伦在线播放| 91热成人精品国产免费| 亚洲国产第一页www| 91成人在线免费观看| 亚洲国产成人影院播放| 免费无码AV一区二区| 国产国拍亚洲精品福利| 99在线免费视频| 久久久久久久亚洲Av无码| 国产高清视频免费在线观看| 中文字幕日韩亚洲| 久久久久久久99精品免费| 亚洲Aⅴ无码一区二区二三区软件| 另类专区另类专区亚洲| 中文字幕在亚洲第一在线| 成人免费区一区二区三区| 亚洲狠狠综合久久| 国产福利在线免费| 黄色片网站在线免费观看| 亚洲女同成av人片在线观看| 18禁美女黄网站色大片免费观看| 亚洲一区二区三区在线观看蜜桃| 免费鲁丝片一级观看| 国产久爱免费精品视频| 亚洲高清视频免费| 国产自产拍精品视频免费看| 两个人看www免费视频| 亚洲AV无码久久久久网站蜜桃 | 最近新韩国日本免费观看| 色偷偷女男人的天堂亚洲网| 四虎在线播放免费永久视频 | 久久精品无码专区免费| 亚洲精品影院久久久久久| 蜜臀91精品国产免费观看| a级片在线免费看| 亚洲一区二区三区高清不卡| 亚洲最大av无码网址| 国产91免费视频|