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 ={ "&":"&", "<":"<", ">":">", '"':"""}
$.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.