javascript 如何通过el表达式获取后台传来的数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 如何通过el表达式获取后台传来的数组相关的知识,希望对你有一定的参考价值。
javascript中:
alert($size);//显示3
for ( var x = 0; x < $size; x++)
alert('$reportName[x]');//显示为空
alert('$reportName[0]);//显示具体值
为什么用具体下标就能获取,用for循环就不行,
var reportName = '$reportName[x]';也不行
将数组放到一个string里,传到javascript再拆分是可行,但是觉得麻烦,有其他办法吗?
修正:var reportName = '$reportName';也不行
原来我走了弯路,直接用jstl就行
<c:forEach items='$list' var='list'>
<option value="$list.reportID">$list.reportName</option>
</c:forEach>
执行过程是服务器先解析了服务器端脚本后,结果返回到客户端,由浏览器执行返回的结果,这个两个步骤,不能混合搭配使用的。
我觉得有两种做法:
一种是你说的,用字符串,然后客户端拆分再操作。
另一种是用el循环,输出的东西是客户端脚本的数组操作
var aaa=new Array();
<c:forEach items="$reportName" var="mm">
aaa.push("$mm");
</foreach>
然后操作aaa
两种方法大同小异 参考技术A el表达式是在服务器端处理的,javascript是在浏览器里运行,
所以代码中:
for ( var x = 0; x < $size; x++)
alert('$reportName[x]');
的el表达式处理时,x是没有值的,所以到前端运行alert时就是空了 参考技术B 页面一般都是用C标签直接处理LIST了,
你这种方式没试过,建议你把单引号去掉再试试
alert($reportName[x]);//追问
javascript里面用el表达式必须用单引或双引括起来,否则会报错
参考技术C 其实用string 拆分也不麻烦,挺好弄的以上是关于javascript 如何通过el表达式获取后台传来的数组的主要内容,如果未能解决你的问题,请参考以下文章
jsp用el表达式获取后台传来的值,或者获取session中的值