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毕竟是服务器端的脚本,怎么可能和客户端脚本混用呢?
执行过程是服务器先解析了服务器端脚本后,结果返回到客户端,由浏览器执行返回的结果,这个两个步骤,不能混合搭配使用的。
我觉得有两种做法:
一种是你说的,用字符串,然后客户端拆分再操作。
另一种是用el循环,输出的东西是客户端脚本的数组操作
var aaa=new Array();
<c:forEach items="${reportName}" var="mm">
aaa.push("${mm}");
</foreach>

然后操作aaa
两种方法大同小异
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-22
el表达式是在服务器端处理的,javascript是在浏览器里运行,
所以代码中:
for ( var x = 0; x < ${size}; x++) {

alert('${reportName[x]}');
}
的el表达式处理时,x是没有值的,所以到前端运行alert时就是空了
第2个回答  2012-10-10
页面一般都是用C标签直接处理LIST了,
你这种方式没试过,建议你把单引号去掉再试试
alert(${reportName[x]});//追问

javascript里面用el表达式必须用单引或双引括起来,否则会报错

第3个回答  2012-10-10
其实用string 拆分也不麻烦,挺好弄的

如何用JavaScript获得后台传过来的参数
你可以把后台的值保存到request 中,然后在js里面用el表达式。不过要加双引号哦。“${testList.name}”

如何用JavaScript获得后台传过来的参数
1、通过request.getParameter("参数名")获取后台的值 2、通过<%=变量%>的方式赋给js变量 示例: < String s2 = (String)request.getParameter("参数名");\/\/获取后台参数给s2变量,<%%>表示这范围内是服务器解析的语言 > var s = '<%=s2%>';\/\/输出s2给js变量s ...

我该怎么在js里获取后台查询到的list
1、首先创建如下空链表,添加数据到链表中。2、输出显示链表中的内容。3、调用front获取list容器中的头部信息。4、输出如下所示的数据,是list容器中的第一个信息。5、调用back获取list容器中的尾部信息。6、输出如下所示的数据,是list容器中的最后一个信息。7、如果想要查找list容器中的某个元素,通...

我想用javascript获得这个a的动态的name属性,怎么获取呀
试试通过集合和索引访问吧,比如给你的table指定一个id,然后用类似下面的代码来取得name.document.getElementById('table_id').getElementsByTagName('A')[0].name 追问 我单击第一个超链接的时候到能取到第一个的,但是第一个以后的再取不就和第一个的一样了啊, 追答 如果你是在单击时取当前元素的name,...

js函数中怎么获取request中值的属性
request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。在JS中获取到request,网页地址的方法:wi...

struts+hibernate做一个定时提醒功能,jsp页面里边设置时间,时间到了...
!!var date = "后台传过来的"; \/\/后台传过来的是字符串,我们前台用el表达式获取之后,通过前台函数转换成js Date对象。function tip() { var currentDate = new Date();if(currentDate 的时间与date相等) { alert("时间到...");} } setInterval("tip",1000);...

session怎样获取表单的值
ession是后台服务器端的变量,而js是前段脚本,在js中是没有现成的方法获取session的值的,需要通过服务器语言来获取。比如java就可以用来获取session的值,再赋值给js变量。以jsp为例,通过:var id = '<%=session.getAttribute("id")%>';java代码用单引号引起来,java中字符串变量用双引号 示例 ...

相似回答