我正在使用portlet和spring 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">
答案 0 :(得分:0)
脚本从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>');
})
答案 1 :(得分: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中使用该列表定义的display:table吗?
是的,在我使用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>