JSTL Como pegar o tamanho da lista? [RESOLVIDO]

Olá Pessoal,

Tem como pegar o tamanho da lista de uma tag lib? tentei usar aquela função fn: mas não está funcionando da erro…

Eu preciso saber quem é o primeiro e o último registro…

<c:forEach var="listaCoord" items="${listaCoord}"> var cod = '${listaCoord.codDaf}'; var lat = '${listaCoord.idLatitude}'; var lng = '${listaCoord.idLongitude}'; </c:forEach>

eu costumo pegar o tamanho da lista no servlet,dando um size no arraylist,dai eu passo esse valor para um campo hidden,e do campo hidden passo para o proximo servlet !
Por exemplo,eu populo a lista de items,dou um size nela,e passo os valores para a pagina alterar items,na alterar items tem um imput hidden que recebe esse tamanho da lista,ai
no formulario eu tenho o tamnho da lista,e a propria lista… como no proximo servlet eu precissar ter o tamanho da lista,eu já passo ele no form

Entendi… boa ideia… vou tentar e já retorno…

Olá Slow… não está vindo…

estou chamando assim na jsp

request.getSession().getAttribute(“tamanhoLista”)

mas nada…

No servlet

int tamanhoLista = listaCoord.size();
request.setAttribute("tamanhoLista", tamanhoLista);

O Erro vendo pelo Chrome é que o request está indefinido

[quote=Pacato]Olá Slow… não está vindo…

estou chamando assim na jsp

request.getSession().getAttribute(“tamanhoLista”)

mas nada…

No servlet

int tamanhoLista = listaCoord.size();
request.setAttribute("tamanhoLista", tamanhoLista);

O Erro vendo pelo Chrome é que o request está indefinido[/quote]

Faça o seguinte

no servlet

int quant = lista.size();
request.setAttribute("quant" , quant)

la na jsp você pega

${requestScope.quant}

funcionou… valeu Slow…

Abs

:smiley:

Slow…

Não consego fazer a verificação do primeiro e do último registro…

estou tentando fazer assim no jsp:

[code] var tamanhoLista = ${requestScope.tamanhoLista};

<c:forEach var="listaCoord" items="${listaCoord}">
	
			for(var i = 0; i <= tamanhoLista; i++) {
								
				var cod = '${listaCoord.codDaf}';
				var lat = '${listaCoord.idLatitude}';
				var lng = '${listaCoord.idLongitude}';

	var pt = new google.maps.LatLng(lat, lng);    

    var start;
    var end;
    
    if(i==0){
    	alert("end" + pt);
    	end = pt;
    } else if(i == tamanhoLista){
    	alert("start" + pt);
    	start = pt;
    } else {
    	
       	var html = cod;
        
		createMarker(pt,html,map);
    }

  
}
    </c:forEach>[/code]

Reparei que está fazendo o laço duas vezes… mas não sei como tratar para pegar o primeiro e o ultimo valor

[quote=Pacato]Slow…

Não consego fazer a verificação do primeiro e do último registro…

estou tentando fazer assim no jsp:

[code] var tamanhoLista = ${requestScope.tamanhoLista};

<c:forEach var="listaCoord" items="${listaCoord}">
	
			for(var i = 0; i <= tamanhoLista; i++) {
								
				var cod = '${listaCoord.codDaf}';
				var lat = '${listaCoord.idLatitude}';
				var lng = '${listaCoord.idLongitude}';

	var pt = new google.maps.LatLng(lat, lng);    

    var start;
    var end;
    
    if(i==0){
    	alert("end" + pt);
    	end = pt;
    } else if(i == tamanhoLista){
    	alert("start" + pt);
    	start = pt;
    } else {
    	
       	var html = cod;
        
		createMarker(pt,html,map);
    }

  
}
    </c:forEach>[/code][/quote]

Testa isso :

[code] var tamanhoLista = ${requestScope.tamanhoLista};

<c:forEach var="listaCoord" varStatus="status"  items="${listaCoord}">
	
			

          <c:if test="${status.first}">
 
<!--        Esse é o primeiro  -->
						 		
	</ c:if>
						    
<c:if test="${status.last}">
 
<!--        Esse é o ultimo  -->
						 		
	</ c:if>



  

    </c:forEach>[/code]

YES… again, mais uma vez me ajudou… valeu mesmo, muito obrigado…