Zerar tabela exibida no browser

2 respostas
C

Olá, boa tarde. Tenho esta lista no jsp:

<h:form>
		<rich:dataTable border="1" value="#{select.movs}" var="mov"
			rendered="#{not empty select.movs}">
		
			<h:column>
				<f:facet name="header">
					<h:outputText value="Quantidade de Placas"/>
				</f:facet>
				<h:outputText value="#{mov.corrida}"></h:outputText>
			</h:column>
			
			<h:column>
				<f:facet name="header">
					<h:outputText value="Número de Movimentações"/>
				</f:facet>
				<h:outputText value="#{mov.qtd}"></h:outputText>
			</h:column>
		
		</rich:dataTable>
	</h:form>

que recebe os dados desta lista:

private List<Movimentacao> movs = new ArrayList<Movimentacao>(); 
//...
List<Integer> listaPlacas = new ArrayList<Integer>();
		List<Integer> listaMovimentacoes = new ArrayList<Integer>();
				
		while (rs.next()) {
			contador ++;
			Movimentacao mov = new Movimentacao();
			placas = Integer.parseInt(rs.getString("placas"));
			listaPlacas.add(placas);
			movimentacoes = Integer.parseInt(rs.getString("movimentacoes"));
			listaMovimentacoes.add(movimentacoes);
			model.addRow(new String[] { rs.getString("placas"),
					rs.getString("movimentacoes") });
			mov.setCorrida(placas);
			mov.setQtd(movimentacoes);
			this.movs.add(mov);
		}

O problema é que eu exibo a tabela beleza. Só que, se dou novo enter no browser para nova pesquisa, a tabela não é zerada para ser repopulada, ou seja, os dados da primeira pesquisa acumulam com o da segunda. Como eu faço prá zerar a lista antes dela receber os novos valores da segunda pesquisa?

Grato, Carlos.

2 Respostas

fabiomazzo

O problema é que vc está sempre adicionando no atributo movs, veja a linha 17 do seu bean.

Antes do while coloca essa linha:

this.movs =  new  ArrayList<Movimentacao>();

Abs

C

Ok, muito obrigado…

Criado 30 de junho de 2010
Ultima resposta 30 de jun. de 2010
Respostas 2
Participantes 2