jquery ajax返回一个list,我想通过jstl c:foreach进行循环展示,可是怎么将这个放入EL表达式的作用域那?
那位大神曾经处理过,如果不用EL表达式,循环展示用什么方法那?有什么好的解决方案吗?
3 个解决方案
#1
ajax返回的对象是给js的,是一个reponseXml或者reponseText,没有什么list。
想弄明白就老老实实用js自己拆分,想快速完成就用组件。
想弄明白就老老实实用js自己拆分,想快速完成就用组件。
#2
这不是前段能够实现的……后台可以通过request.setAttribute把一个变量加在里面,然后在jsp里面就可以直接通过变量名使用进行循环……如果使用jquery,就只能遍历李斯特,拼成字符串,进行dom操作了
#3
呵呵,用jquery自己写吧.如果只是做呈现的话,也不难.
加入你的list是如此结构:
[
{'小明','二年级',80,60,70},
{},
{},
{},
...
]
var _idx = 0 ;
var tt = '<table><tbody>'
for(;_idx<list.length;_idx ++){
var _tr = list[_idx];
tt += '<tr>';
for(var v in _tr){
tt += '<td>'+v+'</td>';
}
tt += '</tr>';
}
tt += '</tbody></table>';
=======================================
el 表达式是从JSP编译阶段才会起作用,呈现pageContext,request,session中的数据,
一旦发送到浏览器,el表达式都转换成了静态的html代码.
所以,el表达式是没有办法动态操作html的.
要动态操作html,只能考js了.
加入你的list是如此结构:
[
{'小明','二年级',80,60,70},
{},
{},
{},
...
]
var _idx = 0 ;
var tt = '<table><tbody>'
for(;_idx<list.length;_idx ++){
var _tr = list[_idx];
tt += '<tr>';
for(var v in _tr){
tt += '<td>'+v+'</td>';
}
tt += '</tr>';
}
tt += '</tbody></table>';
=======================================
el 表达式是从JSP编译阶段才会起作用,呈现pageContext,request,session中的数据,
一旦发送到浏览器,el表达式都转换成了静态的html代码.
所以,el表达式是没有办法动态操作html的.
要动态操作html,只能考js了.
#1
ajax返回的对象是给js的,是一个reponseXml或者reponseText,没有什么list。
想弄明白就老老实实用js自己拆分,想快速完成就用组件。
想弄明白就老老实实用js自己拆分,想快速完成就用组件。
#2
这不是前段能够实现的……后台可以通过request.setAttribute把一个变量加在里面,然后在jsp里面就可以直接通过变量名使用进行循环……如果使用jquery,就只能遍历李斯特,拼成字符串,进行dom操作了
#3
呵呵,用jquery自己写吧.如果只是做呈现的话,也不难.
加入你的list是如此结构:
[
{'小明','二年级',80,60,70},
{},
{},
{},
...
]
var _idx = 0 ;
var tt = '<table><tbody>'
for(;_idx<list.length;_idx ++){
var _tr = list[_idx];
tt += '<tr>';
for(var v in _tr){
tt += '<td>'+v+'</td>';
}
tt += '</tr>';
}
tt += '</tbody></table>';
=======================================
el 表达式是从JSP编译阶段才会起作用,呈现pageContext,request,session中的数据,
一旦发送到浏览器,el表达式都转换成了静态的html代码.
所以,el表达式是没有办法动态操作html的.
要动态操作html,只能考js了.
加入你的list是如此结构:
[
{'小明','二年级',80,60,70},
{},
{},
{},
...
]
var _idx = 0 ;
var tt = '<table><tbody>'
for(;_idx<list.length;_idx ++){
var _tr = list[_idx];
tt += '<tr>';
for(var v in _tr){
tt += '<td>'+v+'</td>';
}
tt += '</tr>';
}
tt += '</tbody></table>';
=======================================
el 表达式是从JSP编译阶段才会起作用,呈现pageContext,request,session中的数据,
一旦发送到浏览器,el表达式都转换成了静态的html代码.
所以,el表达式是没有办法动态操作html的.
要动态操作html,只能考js了.