JSTL Como pegar o tamanho da lista? [RESOLVIDO]

9 respostas
P

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>

9 Respostas

S

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

P

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

P

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

S

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

Faça o seguinte

no servlet

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

la na jsp você pega

${requestScope.quant}
P

funcionou… valeu Slow…

Abs

S

:smiley:

P

Slow...

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

estou tentando fazer assim no jsp:

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>

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

S
Pacato:
Slow...

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

estou tentando fazer assim no jsp:

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>

Testa isso :

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>
P

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

Criado 22 de outubro de 2013
Ultima resposta 22 de out. de 2013
Respostas 9
Participantes 2