0

ポートレットとスプリング MVC を使用しています。ajax 呼び出しでアイテムのリストを取得し、そのリストを display:table 属性として使用したいと考えています。

私はこのajax呼び出しを使用します:

jQuery.ajax({ url:'<portlet:resourceURL id="recuperarDatosAF">
 </portlet:resourceURL>', data: {idExpediente:expediente}, type: 'POST',
  datatype:'json', success: function(data) { 
      alert(data); 
  } 

この呼び出しは、ユーザーがコンボの項目を選択するたびに実行されます。回復するたびに異なるアイテムのリスト。

私の質問は次のとおりです。取得したばかりのリストでどのように表示テーブルを生成できますか?

そのリストを使用してjspで定義されたdisplay: tableを更新する方法はありますか?

私が定義したディスプレイは、requestScopeのリストを取得しますが、ajax呼び出しでリストを取得したいです。

私のディスプレイ:テーブル:

       <display:table id="docentes" name="${requestScope.docentesList}"                       
                                           htmlId="resultadosDocentesListTable"
                                           pagesize="4"
                                           class="displayTagTable"
                                           uid="docente">
4

2 に答える 2

0

http://jsfiddle.net/kVdZG/

jsonデータからテーブルを生成するスクリプト、alert(data)をこのコードに置き換えます。ここではdata.scoresが私のデータです

var data = { "scores" : [ ["3/1/2011", 610],["4/1/2011", 610],["5/1/2011", 610],["6/1/2011", 610], ["7/1/2011", 720], ["8/1/2011", 500], ["9/1/2011", 500] ] }



$(data.scores).each(function(index, element){
         $('#scores').append('<tr><td> '+element[0]+' </td> <td> '+element[1]+' </td></tr>');       
    })
于 2012-12-02T20:41:35.780 に答える
0

私の質問は次のとおりです。取得したばかりのリストでどのように表示テーブルを生成できますか?

私の経験から、リストにはjsonデータのマップが含まれている必要があります。

Map productMap = new HashMap();

    productMap.put("id", "1");
    productMap.put("name", "Coca Cola");                

    List<Product> productList = new ArrayList<Product>();
    productList.add(productMap);

    jsonWriter.object()
        .key("status").value(true)                   
        .key("pList").value(productList)
        .endObject();

pList には製品のマップが含まれています。

表示を更新する方法があります:そのリストでjspで定義されたテーブル?

はい、firebugで表示テーブルタグ部分を確認したところ、表示テーブルタグが通常のhtmlテーブルに変更されることがわかりました。だからajaxで:

success: function(data){
    if(data.status == true){
        var strHtml='';                
        for(var i=0;i<data.pList.length;i++){
        strHtml+='<tr><td>'"+data.pList[i].name+"'</td></tr>';   
        }
    jQuery("table#docentes tbody").html(strHtml);
    }                   

},

そしてあなたの表示タグ

<display:table id="docentes" pagesize="4" class="displayTagTable" uid="docente">
    <display:column escapeXml="true" title="Product Name" >
    </display:column>                                                                                 
</display:table>
于 2013-08-28T05:53:52.933 に答える