Autor |
Mensagem |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 18/07/2008 12:22:25
|
andre
Equipe
Membro desde: 26/11/2007 13:44:01
Mensagens: 27
Offline
|
Bom dia pessoal,
Tentei migrar meus aplicativos para a versão 3.4, porém, meus filtros pararam de funcionar.
Dei uma debugada no código e receio que o problema esteja neste trecho abaixo, da classe CrudController.
Code:
protected void setListagemInfo(WebRequestContext request, FILTRO filtro) throws Exception {
if (!listagemVaziaPrimeiraVez() || filtro.isNotFirstTime()) {
if(request.getParameter("resetCurrentPage") != null) {
String orderBy = filtro.getOrderBy();
boolean asc = filtro.isAsc();
filtro = (FILTRO) filtro.getClass().newInstance();
filtro.setOrderBy(orderBy);
filtro.setAsc(asc);
}
Neste momento, o sistema está criando um novo filtro, apagando o estado do antigo filtro e preservando apenas os atributos OrderBy e Asc.
Fiz as seguintes alterações e funcionou
Code:
if(request.getParameter("resetCurrentPage") != null) {
filtro.setCurrentPage(0);
filtro.setNotFirstTime(true);
filtro.setNumberOfPages(1);
filtro.setNumberOfResults(0);
}
Posso manter essas alterções ou é melhor fazer de outra forma?
Grato!
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 21/07/2008 14:49:15
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Qual erro que está dando?
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 22/07/2008 08:53:01
|
andre
Equipe
Membro desde: 26/11/2007 13:44:01
Mensagens: 27
Offline
|
Não dá erro, só não acontece nada. Parece que o neo executa uma query sem filtro, listando todos os objetos denovo, como se fosse a primeira vez que entra na tela.
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 28/07/2008 09:37:22
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Mas isso acontece sempre?
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 28/07/2008 15:06:45
|
andre
Equipe
Membro desde: 26/11/2007 13:44:01
Mensagens: 27
Offline
|
Sim. Pode ser pq eu estou usando o WebSphere, ele é cheio de bugs. Tive que mudar a jsp TabelaResultadosTag, pq o websphere não aceita duas chamadas consecutivas de funções em uma pagina jsp. Só pepino.
Mas com aquele código eu resolvi o problema. Valew!
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 14/08/2008 09:51:33
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
O andré, o Neo tem que funcionar em qualquer servidor de aplicação. Teria como constatar se o problema é relmente no servidor de aplicação?
Obrigado.
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 14/08/2008 16:48:18
|
andre
Equipe
Membro desde: 26/11/2007 13:44:01
Mensagens: 27
Offline
|
Eu encontrei alguns bugs do websphere referente a chamadas de funções em páginas jsp. Por exemplo, algumas funções jstl não funcionavam em versões anteriores. Encontrei vários hotfixes para esses bugs.
Na página tabelaResultadosTag existe o seguinte código
Code:
<script language="javascript">
imprimirSelecionar(new Array(${n:hierarchy(TtabelaResultados.valueType)}), "${n:escape(n:valueToString(n:reevaluate(TtabelaResultados.name, pageContext)))}", "${n:escape(n:descriptionToString(n:reevaluate(TtabelaResultados.name, pageContext)))}");
</script>
O websphere não consegue executar essa sequência de chamadas de funções e dispara uma exceção dizendo que não encontrou a função n:descriptionToString(). Quando eu coloco essa função pra executar antes da chamada, a sequencia funciona
Code:
<script language="javascript">${n:descriptionToString(null)}
imprimirSelecionar(new Array(${n:hierarchy(TtabelaResultados.valueType)}), "${n:escape(n:valueToString(n:reevaluate(TtabelaResultados.name, pageContext)))}", "${n:escape(n:descriptionToString(n:reevaluate(TtabelaResultados.name, pageContext)))}");
</script>
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 14/08/2008 21:25:40
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Eu não percebi a diferença entre os 2 códigos..
Até!
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 18/08/2008 14:14:26
|
andre
Equipe
Membro desde: 26/11/2007 13:44:01
Mensagens: 27
Offline
|
No segundo código eu adicionei uma chamada à função ${n:descriptionToString(null)} após a tag javascript. Se tirar essa chamada, a página não funciona no websphere.
Parece que ele precisa armazenar a função em algum cache, antes de executar as funções aninhadas, do contrário, ele dispara uma excessão dizendo que não pode localizar a função.
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 18/08/2008 18:27:13
|
rogel.garcia
Xiita
Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline
|
Realmente existe um erro na versão 3.4
o seguinte código:
Code:
if(request.getParameter("resetCurrentPage") != null) {
String orderBy = filtro.getOrderBy();
boolean asc = filtro.isAsc();
filtro = (FILTRO) filtro.getClass().newInstance();
filtro.setOrderBy(orderBy);
filtro.setAsc(asc);
}
Faz com que o filtro seja resetado a cada vez que é feito um submit da página. Já que o resetCurrentPage é enviado como true como definido em TabelaFiltroTag.jsp
O código deveria ser como o código enviado pelo André.
Muito bem observado André. Obrigado pela contribuição.
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 20/08/2008 09:08:32
|
andre
Equipe
Membro desde: 26/11/2007 13:44:01
Mensagens: 27
Offline
|
Ficou satisfeito em contribuir para o framework, que ultimamente tenho usado como referência em todos os meus projetos e estou indicando para muitos amigos.
Parabéns pelo trabalho e sucesso.
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 20/08/2008 16:07:34
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Que bom andré!
Qualquer coisa só mandar mensagem aqui! =p
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
|