
亲,java代码是在服务器端执行的,js代码才是在客户端执行的~固你的js应该只是接收后台执行结果,js套java以及jstl都是不对的。如果后台是集合对象是arraylist可以这样写~因为它的tostring方法返回结果就是字符串形式的数组。eg"[1,2,3]"
一般传给js的话都变成了数组或是对象(json传的话如果是字符串要JSONparse一下)。
js里只有number、string、boolean、undefined、object几种数据类型(不管ES6),后台传给前端的数据到js也就都变成这几种了。
传到前端不是数组就是一般对象(都是object),数组用for循环就行(可以取数组length),如果是一般对象的话就用forin循环遍历。
或者允许使用ES6的话(新版浏览器或是服务器),就直接用forof循环。
el毕竟是服务器端的脚本,怎么可能和客户端脚本混用呢?
执行过程是服务器先解析了服务器端脚本后,结果返回到客户端,由浏览器执行返回的结果,这个两个步骤,不能混合搭配使用的。
我觉得有两种做法:
一种是你说的,用字符串,然后客户端拆分再 *** 作。
另一种是用el循环,输出的东西是客户端脚本的数组 *** 作
var aaa=new Array();
<c:forEach items="${reportName}" var="mm">
aaapush("${mm}");
</foreach>
然后 *** 作aaa
两种方法大同小异
<c:forEach var=‘list’ items=‘${list}’>//var的值随便起,起啥下面就用啥
${list id}
${list name}
</c:forEach>
你那个<%%>中间应该是java代码javascript用<script></script>括起来
在后台将对象转换成json字符串
如,一个student对象有name,age json: '{"name":"godelegant","age":12}' 然后在前台将此字符串给javascript变量。
var objStr = '{"name":"godelegant","age":12}';
alert(objStr);
var student = eval(objStr);
alert(student); //[object]
alert(studentname); //godelegant
alert(studentage); //12
这样就得到了一个JS的对象
其实js和jsp页面中的java直接交换各自的数据是好像是没法做到的,也许我没找到方法。jsp中的list是从后台传过来的,这种方式你可以用ajax,json等获取list,可以把list放在map里面。java类中你把list放map中,mapput('list',list);js中$post(url,{ 你的参数 },function(data){ datalist;//这就是js获取到的数据,可以用js遍历);url 是通往你aciton类的地址,比如test!getListaction test是struts中配置的action,getList是action类中的方法名。
以上就是关于如何在JS里面 循环获得${LIST}里面每一个值全部的内容,包括:如何在JS里面 循环获得${LIST}里面每一个值、javascript怎么遍历后台request传过来的List对象、javascript 如何通过el表达式获取后台传来的数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)