Problemas com EL e JavaScript

Tenho o seguinte trexo de código escrito em javascript:

 for(var i=pageIndex*itemsPerPage;i<maxElem;i++){						
	       var text = '${costCenterList[i].description}';							
        newContent += '<dt>'+text+></dt>';         	       
 }

O problema é que a variavél text não recebe valor algum, mais se eu fizer:

var text = '${costCenterList[0].description}'

ou

var text = '${costCenterList[1].description}'

ou

var text = '${costCenterList[2].description}'

A variavél text recebe o valor que está na lista, alguém sabe me dizer o por que isso acontece?

Pois no primeiro contexto a iteração sobre i é externa ao código.
É como tentar isso:

for(int u = 0; u < 100; u++){
  String a = "a " + "u"; 
}

Não vai adiantar nada.

[quote=drsmachado]Pois no primeiro contexto a iteração sobre i é externa ao código.
É como tentar isso:

for(int u = 0; u < 100; u++){
  String a = "a " + "u"; 
}

Não vai adiantar nada.[/quote]

Eu entendi, e já imaginava isso, mais como faço para percorrer minha lista, pois tentei desta forma

for(var i=pageIndex*itemsPerPage;i<maxElem;i++){                       
       var text = '${costCenterList}';                             
       newContent += '<dt>'+text[i].description+></dt>';                     
} 

E nada também.

O problema está na iteração dentro do el…
Nunca tentei fazer isto, mas, quem sabe, dê certo

    for(var i=pageIndex*itemsPerPage;i<maxElem;i++){                       
           var text = '${costCenterList["' + i + '"].description}';                             
           newContent += '<dt>'+text+></dt>';                     
    }  

[quote=drsmachado]O problema está na iteração dentro do el…
Nunca tentei fazer isto, mas, quem sabe, dê certo

for(var i=pageIndex*itemsPerPage;i<maxElem;i++){ var text = '${costCenterList["' + i + '"].description}'; newContent += '<dt>'+text+></dt>'; } [/quote]

Não da não, olha a stak trace:

br.com.caelum.vraptor.view.ResultException: org.apache.jasper.JasperException: /WEB-INF/jsp/costCenter/list.jsp(12,20) The attribute prefix functions does not correspond to any imported tag library
	br.com.caelum.vraptor.view.DefaultPageResult.defaultView(DefaultPageResult.java:69)
	br.com.caelum.vraptor.interceptor.ForwardToDefaultViewInterceptor.intercept(ForwardToDefaultViewInterceptor.java:60)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.OutjectResult.intercept(OutjectResult.java:67)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:85)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.tsoftnet.atlas.Filter.Paginator.intercept(Paginator.java:20)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:23)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)

root cause

org.apache.jasper.JasperException: /WEB-INF/jsp/costCenter/list.jsp(12,20) The attribute prefix functions does not correspond to any imported tag library
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
	org.apache.jasper.compiler.Validator$ValidateVisitor$1FVVisitor.visit(Validator.java:1535)
	org.apache.jasper.compiler.ELNode$Function.accept(ELNode.java:137)
	org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:208)
	org.apache.jasper.compiler.ELNode$Visitor.visit(ELNode.java:250)
	org.apache.jasper.compiler.ELNode$Root.accept(ELNode.java:61)
	org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:208)
	org.apache.jasper.compiler.Validator$ValidateVisitor.validateFunctions(Validator.java:1554)
	org.apache.jasper.compiler.Validator$ValidateVisitor.prepareExpression(Validator.java:1559)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:742)
	org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:954)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1789)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:372)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:339)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	br.com.caelum.vraptor.core.DefaultStaticContentHandler.deferProcessingToContainer(DefaultStaticContentHandler.java:64)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:80)
	br.com.caelum.vraptor.view.DefaultPageResult.defaultView(DefaultPageResult.java:67)
	br.com.caelum.vraptor.interceptor.ForwardToDefaultViewInterceptor.intercept(ForwardToDefaultViewInterceptor.java:60)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.OutjectResult.intercept(OutjectResult.java:67)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:85)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.tsoftnet.atlas.Filter.Paginator.intercept(Paginator.java:20)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:23)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.12 logs.
Apache Tomcat/7.0.12

Então não tenho idéia de como resolver.

Valeu drsmachado, muito obrigado pela força, alguém saberia me dizer como faço para percorrer minha lista utilizando EL?

E um “forEach” não ajuda?

Então o que acontece éh o seguinte, não vou exibir toda a lista de uma vez.
Utilizo um pluguin JQuery para fazer a paginação, e vou exibindo os dados conforme a página que o usuário seleciona, se usar o forEach, vou ter que ficar verificando se já foi exibido a quantidade de dados correta para a pagina selecionada e além disso, como faria para exibir os dados começando do Objeto 5 por exemplo.

Segue todo o script da paginação:

<script type="text/javascript">
	function pageSelectCallBack(page_index, jq){
	    var items_per_page = $('#sizeList').val();
	    var length = ${functions:length(costCenterList)};
		var max_elem = Math.min((page_index+1) * items_per_page, length);
		//var items = ${costCenterList};
		var newContent = '';
		
		for(var i=page_index*items_per_page;i<max_elem;i++){						
			var text = '${costCenterList[i].description}';						
			alert('${costCenterList["'+i+'"].description}');
	        newContent += '<dt>${costCenterList[0].description}</dt>';         	       
     	}		
		 
     	$('#Searchresult').html(newContent);
	     
    	 return false;				
	}
	
	function getOptionsFromForm(){
    	var opt = {callback: pageSelectCallBack};    	
	    
    	opt['prev_text'] = 'Anterior';
	    opt['next_text'] = 'Próximo';
	    
	    var htmlspecialchars ={ "&":"&amp;", "<":"&lt;", ">":"&gt;", '"':"&quot;"}
	    $.each(htmlspecialchars, function(k,v){
        	opt.prev_text = opt.prev_text.replace(k,v);
        	opt.next_text = opt.next_text.replace(k,v);
    	})
    	return opt;
	}

	//When document has loaded, initialize pagination and form 
	$(document).ready(function(){			
		// Create pagination element with options from form
    	var optInit = getOptionsFromForm();    	
		var length = ${functions:length(costCenterList)};
    	$("#Pagination").pagination(length, optInit);
    	
		// Event Handler for for button
		$("#setoptions").click(function(){
			var opt = getOptionsFromForm(); 
			var length = ${functions:length(costCenterList)};
			
			// Re-create pagination content with new parameters
        	$("#Pagination").pagination(length, opt);
    	}); 
		
		
	});	
</script>

O script funciona blz, o único problema é apresentar os dados.

Até.

É, não tinha toda essa informação.
Bom, boa sorte aí, mas pela forma como está fazendo, acredito que com javascript vai ser muito complicado…

[quote=drsmachado]É, não tinha toda essa informação.
Bom, boa sorte aí, mas pela forma como está fazendo, acredito que com javascript vai ser muito complicado…[/quote]

Valeu cara, obrigado pela ajuda, vou ver se consigo algo mais simples para resolver esse problema.