Displaytag x ajax

Pessoal tenho uma página que contém uma listagem com displaytag que é chamada por ajax:

<a href="javascript:void(0)" onClick="ajaxLink('corpo','pagina_displaytag.jsp')">

<div id="corpo"></div>

Porém quando eu vou ordenar ou paginar a listagem, como a requestURI está = “pagina_displaytag.jsp” ao invés de atualizar na minha div “corpo” ele abre numa página em branco.

Como faço pra minha displaytag atualizar dentro da minha div “corpo” ??

Valew.

use a displaytag junto com ajaxtags.

http://ajaxtags.sourceforge.net/usage.html

veja a tag: ajax:displayTag

[quote=marcelo_mococa]use a displaytag junto com ajaxtags.

http://ajaxtags.sourceforge.net/usage.html

veja a tag: ajax:displayTag[/quote]

Marcelo, feito conforme vc falou:

<ajax:displayTag id="displayTagFrame" ajaxFlag="displayAjax">

	<display:table id="usuario" name="${usuarios}"
	               class="displaytag"
		           sort="list" defaultsort="1"
		           pagesize="10"
		           excludedParams="ajax">
		<display:column property="id_usuario" title="ID"	sortable="true"/>
		<display:column property="nome"		  title="Nome"	sortable="true"/>
	</display:table>
	
</ajax:displayTag>

Ele agora abre dentro da minha div, porém não está trazendo dados:

Nothing found to display.

O que pode estar errado ??

Valew.

[Resolvido]
Coloquei de volta o requestURI está = “pagina_displaytag.jsp” usando o ajaxtags!!!

Valew.

Estou passando pelo mesmo problema e não consegui resolver.

Tem como voce posta o seu exemplo aqui?

aê pessoal, também estou com o mesmo problema…
já tentei fazer o que o marcelo fez e não deu certo… ele abre uma pagina em branco dizendo:

“Nenhum item(s) encontrado(s).”

Boa tarde, estou com um problema parecido:
tenho um poup-pop que carrega as informações de uma DIV com ajax, os dados dessa linha são exibidos com uma displaytag,
só que na paginação eu obtenho apenas o retorno para do conteudo paginado de minha DIV sem os dados do cabeçalho do poup pop.
tentei colocar no requestURI a jsp do poup pop mas sem sucesso…
o que faço para retornar apenas esse conteúdo paginado apenas na DIV do meu poup com os dados do cabeçalho fixos?
grato Diogo

Diogo, estou com o mesmo problema.

Conseguiu solucionar? Se sim, poderia me ajudar?

Fico no aguardo.

Muito obrigado JAMAL.

JAMAL,

caso você ainda queira resolver o seu problema.

O Nosso amigo NINJA resolveu.

Segue abaixo o mirabolante código:
(é meio gambiarra), mas funciona.
Acho que não teria jeito melhor.

$(document).on("click", "#divResultado .pagelinks a", function(e) {
		e.preventDefault();
		var url = $(this).prop("href");
		$.ajax({
			dataType: 'html',
			type: 'post',
			url: url,
			success: function(pagina) {
				$("#divResultado").html(pagina);
			}
		});
	});

… The Walking Dead…
E o tópico renasce das cinzas.

Alguem conseguiu resolver o problema da paginação com ajax?

Meu amigo, você pode utilizar a função que eu respondi acima… Funciona de boa.

Opa brother, eu estou tentando utilizar mas n esta dando certo.

No componente vc deixou como no atributo requestURI?

Veja como esta meu codigo:

<display:table id="listaUnidade" name="unidadeSocioassistencialFormBean.unidadeList" class="table table-bordered table-striped table-condensed flip-content" pagesize="25" requestURI="${pageContext.request.contextPath}/descumprimentoAvancada/openUnidade"> <display:column title="Código Entidade" sortable="true"> <a href="#" onclick="javascript:selecionarUnidade('${listaUnidade.rfEntidade}' , '${listaUnidade.dsNomeEntidade}')" > ${listaUnidade.rfEntidade}</a> </display:column> <display:column title="Nome Entidade" property="dsNomeEntidade" /> <display:column title="Situação" property="dsSituacao" /> <display:column title="Endereço" property="enderecoCompleto" /> <display:column title="UF/Município" > ${listaUnidade.municipio.uf.sgUf}/${listaUnidade.municipio.nmMunicipio} </display:column> </display:table>

$(document).ready(function() { $(".pagelinks a").click(function(){ e.preventDefault(); var url = $(this).prop("href"); alert(url); $.ajax({ dataType: 'html', type: 'post', url: url, success: function(pagina) { $("#unidade-body").html(data); } }); }); });

Já tem mais de um ano que eu fiz isso… Mas vou colocar aqui o que eu lembro…

Veja a função abaixo:

$(document).on("click", "#divResultado .pagelinks a", function(e) {  
        e.preventDefault();  
        var url = $(this).prop("href");  
        $.ajax({  
            dataType: 'html',  
            type: 'post',  
            url: url,  
            success: function(pagina) {  
                $("#divResultado").html(pagina);  
            }  
        });  
    });

O requestUri seria a action/controller que será responsável por executar a função de consulta… correto?

E aí se eu não me engano, os links da paginação são criados automaticamente pelo displaytag, não é isso?
E o seu problema é que quando clica em algum link da paginação (“1”,“2”,“3”,“4”), ele atualiza a página inteira… Não é isso?

Se for isso, a função acima irá te ajudar.

Este bloco de código está dizendo que ao clicar no link que possui a classe “pageslinks” e vier seguido de um “a”, que seria o link ele irá executar… Veja se a div que possui esta consulta tem o ID -> “#divResultado”, entendeu?

$(document).on("click", "#divResultado .pagelinks a", function(e) {  

E aí para não atualizar toda a página, ele utiliza o seguinte bloco:

 e.preventDefault();  
        var url = $(this).prop("href");  
        $.ajax({  
            dataType: 'html',  
            type: 'post',  
            url: url,  
            success: function(pagina) {  
                $("#divResultado").html(pagina);  
            }  
        }); 

Ele “para” a execução do link através do “e.preventDefault();” e retorna os valores da consulta através de uma página html que será renderizada na “#divResultado”.

Não sei se eu embolei mais do que ajudei… Mas acho que é isso…

O que não está funcionando? A sua consulta pelo displaytag ou a paginação?

A paginação, eu tenho ja na página um $(document).ready(function() {}
Por isso fiz daquele jeito, será que é isso?

Coloca a função “click” dentro do seu document ready e coloca um breakpoint pelo browser e verifica se está chegando na função quando você clica no link da paginação.

Ele não entra na função com o ready. Coloquei o on funcionou, vou deixar os dois rs.