[+- resolvido] Ajaxtags + Displaytag + Struts / JSP / Tiles

Estou tendo um problemão ao utilizar Ajaxtags + Displaytag no meu projeto que usa struts1 (:?) + tiles

[size=18]1- Meu código primário[/size]

JSP:

[code]<html:select property=“rede”>
<html:option value="-1">Selecione</html:option>
<html:options name=“selectRedeOptions” property=“codigo” labelProperty=“nome” collection=“redesCollection” />
</html:select>

<%-- outros itens de formulario aqui em cima --%>

<logic:present name=“listaResultado” >


Resultado



<display:table name=“sessionScope.listaResultado” pagesize="10"
cellspacing=“1” class=“bg-marrom w-100” id=“row"
requestURI=”/funcionalidadeXyz/paginarAction.do"
export=“true”>
<display:caption class=“tit”>Lista de Resultado</display:caption>
<display:column property=“atributoUm” title=“Cod. PC IF” headerClass=“sub-tit” />
<display:column property=“atributoDois” title=“Nome” headerClass=“sub-tit” />
</display:table>


</logic:present>[/code]

struts-config.xml action. Que serve somente pra manter a estrutura do tiles, pois a lista do resultado da displaytag já está na sessão (listaResultado):

<action path="/funcionalidadeXyz/paginarAction" forward="tile.funcionalidadeXyz" > </action>

[color=red]Problema na hora de mudar de pagina:[/color]

Como há vários campos (ex: o “select options collection=‘redesCollection’”) na minha página que estão pegando o valor do request e não da sessão; então é lógico e esperado ter dado este erro.

[size=18]2- Tentativa 1 do Ajaxtags[/size]
Mantive meu código e “encapsulei” minha displaytag com o ajaxtags
PS: já utilizando os jars e libs js necessárias

<ajax:displayTag id="displayTagFrame" ajaxFlag="displayAjax"> <%-- display:table mantido igualzim --%> </ajax:displayTag>

[color=red]Problema na hora de mudar de pagina:[/color]
Tentou carregar uma nova pagina dentro da displaytag e deu o mesmo erro no console:

[size=18]3- Tentativa 2 do AjaxTags[/size]
Removi meu “requestURI=”/funcionalidadeXyz/paginarAction.do" que estava nas propriedades da displaytag.

[color=red]Problema na hora de mudar de pagina:[/color]
Ficou no quase ! Manteve a aparencia de minha pagina, juntamente com os selects carregados (isto é, manteve o request).
Mas … ao inves de carregar a segunda pagina , sumiu a displaytag e apareceu este erro na pagina:

E este erro no console:

[size=18]4- Tentativa 3 do AjaxTags[/size]
Voltei o requestUri com o valor referenciando à pagina (ao inves do paginarAction): “requestURI=”*/pages/funcionalidadeXyz/formAndDisplayTag.jsp"

[color=red]Problema na hora de mudar de pagina:[/color]
Ficou no quase, mas piorou da tentativa 2. Pois na hora de mudar a página ele desapareceu com minha displaytag e mostrou um erro sem mudar o resto da pagina (assim como na tentativa 2) . Mas o erro é o erro do request ( inicial ) :

[size=18]5- Possível solução[/size] (não é boa boa se fosse um projeto médio ou grande)

Uma solução é mudar todo o layout de tiles do projeto, separando a parte da displaytag em uma nova página (ao inves de junto com o formulario assim como estava no meu código primario). E depois voltei o requestUri pra display:table , com o valor = “*/pages/funcionalidadeXyz/displayTagFuncXyz.jsp”.

[size=16][color=darkblue]“Beleza”. Funcionou do jeito que eu queria. Mas no caso de um projeto muito grande não teria como eu mudar todo o layout tiles do projeto para adotar esta solução. Então o que eu faria pra solucionar o problema ???[/color] (solucionar o erro da tentativa 2)[/size]

  • = nomes fictícios para facilitar o entendimento dos problemas e soluções genericamente, não levando em conta o real nome dos arquivos no meu projeto