页面表格使用cforeach列出,请求之后返回了新的list,重新传给cforeach
比如:list对象如下
"list":[{"id":2,"username":"c"},{"id":7,"username":"9"}],
c:foreach是在页面加载时生成,用ajax赋值给c:foreach是无法再次重新生成的,所以如果你想用ajax添加值的话应该给表格添加name或Id,然后通过这个来向其中添加值,而不用考虑foreach了
用model返回给页面,再用c:foreach来循环输出,ajax适用于异步刷新,不刷新页面的,如果你要用ajax的话,可以在js里面动态生成html标签,然后嵌入进HTML页面中。
jstl的 foreach遍历的域中数据 ,ajax获取的数据 ,只能通过 js编写 脚本 ,实现页面 的 动态效果
在success:function(data){
var node=‘
’+obj.id+' | '+obj.name+‘ |
在success:
function(data){
var node=‘<table>‘;’
for(var obj in data){
node+=‘<tr><td>’+obj.id+'</td><td>'+obj.name+‘</td><tr>’;
}
$('#table').append($(node));
}
清空原来的表格把动态生成的表格加到原来的位置
想多了,js和EL不是这样用的
后台action:先对这个list json对象解析后封装成一个List对象(Model封装类包含id和username属性以及get和set方法),如对象是list1
然后使用request.setAttribute("list1",list1);传递个前端
前端就可以这样使用了。
${model.id}就是获取后台传过来id的值
${model.username}就是获取后台传过来的username的值