Erro ao executar filtro após nagevar pelas páginas de registros

Como resolver :

Após efetuar um filtro pra listar dados utilizando Vraptor, ao navegar pelas páginas dos registros, ao fazer um novo filtro está dando java.lang.NullPointerException

Alguém já teve problema parecido?

O código:

public List<Membro> exibir(Membro membro) {

if (membro != null) {
			result.include("membro", membro);
			
			StringBuffer sql = new StringBuffer();
                             sql.append("FROM Membro M WHERE 1 = 1 ");
			
                       if (membro.getNome()!= null){
				sql.append(" AND M.nome ilike '%" + membro.getNome() + "%' ");
			}
                       if (membro.getStatus()!= null){
				sql.append(" AND M.status ='" + membro.getStatus() + "' ");
			}
			if (membro.getIgrejaId() > 0 && membro.getIgrejaId()!=null){  <=====ERRO ESTÁ DANDO NESSA LINHA
......

membro.getIgrejaId() pode estar nulo, quando vc compara ele com um número, dá a NPE…

Troque a ordem, primeiro veja se é != null e depois veja se é maior que 0…

Ok, troquei a ordem do membro.getIgrejaId(), agora não dá erro, mas após navegar não executa o filtro:

Ao navegar pelos registro:
http://localhost:8084/iead/membro/exibir?membro.nome=&membro.nome=&membro.igrejaId=3002&membro.igrejaId=2001&membro.status=SIM&membro.status=SIM&d-445728-p=3&membro.id=&membro.id=

Seleciono outro filtro mas continua filtrando pelo filtro anterior (membro.igrejaId=3002)

se vc reparar ele tá colocando duas vezes cada um dos filtros… como vc tá gerando essa url?

Essa URL é gerada após navegar pelas paginas de registros na display:table após já executar um filtro.

então vc precisa configurar o display:table pra não replicar os parâmetros… não sei te dizer como fazer isso.