jquery ajax得到的数据,EL表达式怎么可以获取到?

时间:2021-06-08 19:33:15
EL表达式的作用域是pageContext。
jquery ajax返回一个list,我想通过jstl c:foreach进行循环展示,可是怎么将这个放入EL表达式的作用域那?
那位大神曾经处理过,如果不用EL表达式,循环展示用什么方法那?有什么好的解决方案吗?

3 个解决方案

#1


ajax返回的对象是给js的,是一个reponseXml或者reponseText,没有什么list。
想弄明白就老老实实用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了.

#1


ajax返回的对象是给js的,是一个reponseXml或者reponseText,没有什么list。
想弄明白就老老实实用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了.