解决方案 »

  1.   

    使用ajax获得list 绑定到个select控件...
    使用dwr更简单的... 
      

  2.   

    后台代码
    public void searchList() {

    Map map = new HashMap();
    int total = 0;
                    traInformations = traInformationService
    .findTraInformationList(dc);
    total = traInformations.size();

    map.put("total", total);
    map.put("rows", traInformations); // String resultObj= JSONObject.toJSONString(map);
    ToJson toJson = new ToJson();
    JSONArray jsonArray = JSONArray.fromObject(map); // toJson.toJsonArray(traInformatiosn); HttpServletResponse response = ServletActionContext.getResponse();
    response.setContentType("text/html;charset=gb2312");
    try {
    PrintWriter out = response.getWriter();
    out = response.getWriter();
    out.print(jsonArray);
    out.flush();
    out.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    js代码:
     var url="<%=basePath%>tra/traInformationAction!searchList.action";
     $.ajax({
        type:"post",
        url:url,
        data: $('#form1').serializeArray(),
    dataType:"json", 
        success:function(data){
             $.each(data,function(i,item){
                
                               var list = item.rows;   //json.rows;
                 var total=item.total;
                 if(total>=1){
                  jQuery("#traDiv").show();
                 $("#p").dialog('open');
                 $(".list_table_even_tr").remove();
                 if (list.length > 0) {
                             for (var i = 0; i < list.length; i++) {
                                   var  start=list[i]["traStartDate"];
                                   var  end=list[i]["traEndDate"];
                          
                                   var htmltd="";
                           htmltd+="<tr class=\"list_table_even_tr\">";
                       htmltd+="<td class=\"list_table_td_left\">"+list[i]["traSubject"]+"</td>";
                       htmltd+="<td class=\"list_table_td_left\">"+list[i]["traRegisterName"]+"</td>";
                   htmltd+="<td class=\"list_table_td_right\">";
           htmltd+="<a href=\"javascript:void(0)\" onclick=\"detailData('"+list[i]["traId"]+"');\"> 查看</a>&nbsp";
                   htmltd+=" </td></tr>"
                                   $("#datatable").append(htmltd);
                              }
                            }
                            }
             });
           
            }
     });
      

  3.   

    返回部分的取值有问题,Map不是一个对象,不能用result.XX,就是要用也是map.get("key")。
    看你使用的是easyUI,返回取值可以用两种方法
    1.easyui会自动帮你封装好
    <tr class="form_row">
    <td class="field_name">
    <label for="aaa">所属上级区域名称:</label>
    </td>
    <td class="field">
    <input type="text" id="aa" name="aa" class="easyui-combotree easyui-validatebox" data-options="url:'./areamgr/areamgrareatree.do'" style="width:130px;" value="${parentId}" />
    </td>
    </tr>
    2.使用Jquery脚本
    $('#aa').combobox({
    url:'./dev/sensortypecombobox.do',
    valueField:'typeId',
    textField:'typeName',
    onLoadSuccess:function(){
    var data=$('#aa').combobox('getData');
    if(data.length>0){
    $('#aa').combobox('select',data[0].typeId);
    }
    }
    <td class="field_name">
    <label for="aaa">类型:<span class="required">*</span></label>
    </td>
    <td class="field">
    <input type="text" id="aa" name="aa.aa" class="" data-options="" />
    </td>
      

  4.   

    首先 ajax大多都是返回一个成功或者失败表示,然后再前台进行验证使用,之后你aaa应该就是取得的list,然后将list放到model中即可,就是方法参数Model model , 然后model.addAttribute("aaa",aaa);  这样你前台在循环这个aaa   list时候就会有值存在。很简单的