function get()
        {   
            for(var i=0;i<${allarchitecture.size()};i++){
            alert("${allarchitecture["+i+"].architectureName}");
              
        }
allarchitecture是个List<对象>
${allarchitecture.size()}可以得出来${allarchitecture[0].architectureName}也可以显示出来
这样报Expression allarchitecture["+i+"] is undefined on line 19错误,求各位指点!

解决方案 »

  1.   

    eval('alert(${allarchitecture['+i+'].architectureName})')
      

  2.   


    function get() 
            {  
                for(var i=0;i <${allarchitecture.size()};i++){ 
               eval('alert(${allarchitecture['+i+'].architectureName})') //这样就OK了
                  
            } 
      

  3.   

    循环还是可以的,它说的是这个allarchitecture["+i+"] 未定义,估计还是用法用错了!
    我用allarchitecture[0].architectureName还是可以得到值!
      

  4.   

    搞混了js跟jsp,这样试试
    function get()
    {
    var arr = [<c:forEach items="${allarchitecture}" var="result" varStatus="status"><c:out value="${result.architectureName}" />,</c:forEach>];
    for(var i = 0; i < arr.length - 1; i++){
    alert(arr[i]);
    }
      

  5.   

    忘了加引号:
    function get()
    {
    var arr = [<c:forEach items="${allarchitecture}" var="result" varStatus="status">"<c:out value="${result.architectureName}" />",</c:forEach>];
    for(var i = 0; i < arr.length; i++){
    alert(arr[i]);
    }
      

  6.   

    我是写在HTML里面!哎,做那个类似google的模糊查询,真头疼!
      

  7.   

    如果你用的是velicty写的这个,那么你的逻辑本身就是有严重问题的。$XXXXX 是在组装js之前就已经恒定了的,你根本就不能在js的循环中,执行调用velicty的东西。只能用foreach来循环$xxxx
      

  8.   

    谢谢上面的各位,我终于弄出来了
    function get_data()
            {   var terms = new Array();
                var a=[<#list allarchitecture as row>"${row.architectureName}",</#list>];
               for(var i in a){ 
                 alert(a[i]); 
         
             }
                return terms;    
            }
    呵呵,这样搞定!