前台去获取后台数据,如果在jsp文件中,可以使用el表达式遍历,如果在js文件中,又不想使用json,那么传过去的就是字符串了,需要自己处理,自己两种都尝试了。建议还是使用json格式。
字符串形式
在js中获取后台数据有很多中方式,这里只提供两种方式,一是将js代码和html放在同一文件中,二是将js代码放在单独的文件中。
如果将js文件放在html代码中,只需要这样:
var data = '${map}'
其中map是后台存储的数据是的名称,这时获得的data是一个字符串,需要自己处理成为需要的数据,比如下面的代码:
var t1 = data.replace(/=/g, ",");
var t2 = t1.replace(/{|}/g, "");
var arr = t2.split(",");
先用正则表达式将一些字符替换掉,在分割为数组就可以获取到数据了。
但是如果将js代码放在单独的文件中,这种方法就行不通了,可以放一个input标签,这是为"hidden",并给id,就可以获取了:
var data = document.getElementById('data').innerHTML;
然后像上面一样处理。
JSON格式
首先,我的数据格式是一个map:
{生活&