一个Struts的Action跳转到一个JSP页面并传递usersList的用户链表参数,现在我想在JSP页面中的js脚本中用EL表达式来取usersList中的第i个元素,我是这么写的:
[code="java"]
[/code]
求指教!
这样是不行的,java总是在javascript之前编译,
var name="${userlist["+i+"].username}"
编译的时候先编
${userlist["+i+"].username} 这一部分,你说i写这是怎么编译,我还没见过数组下标为"+i+"的。jsp是如何编译成html文件的你还没搞清楚。
想的到下标为0的对象可以用:
Object obj= request.getAttribute("userlist");
if(obj!=null&&obj.size>0){
List list=(List)obj;
out.print(list.get(0));
}
jsp传过来的参数必须用jsp代码接收。 可以改成如下
1.<br><br> 2. var i=0;<br><br> 3. //若干代码,i被赋值<br><br> 4. var name = <%=(List)request.getParamter("userList").get(0);%> // 这块直接用jsp接收参数,然后提取集合第一个值<br><br> 5.
我试了动态传值是不行啦,除非你把i放到request里。
var name = "${usersList[0].username}" //这样写实没问题的