Ir para o conteúdo

 Voltar a (WI) Geral -...
Tela cheia

Validação em Pré e Pós Página

30 de Agosto de 2010, 23:00 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 10 vezes

Pessoal,

Na versão 3.3.6, ainda tenho encontrado um problema ao utilizar o componente gravar no pós-página e utilizar a variável ainda no pós-página para realizar outras validações.

Percebi que a variável no componente gravar apenas é gravada no contexto quando a execução (ciclo de vida de uma página wsp) passa para o pré-página.

As pessoas que trabalham comigo não conseguem entender isso, pois eles visualizavam o <wi:out/> na página, acreditando que o gravar funcionaria desde o pós-página.

Por experiência em desenvolver diversas aplicações, trabalhando com o WI desde a versão 3.2.1, expliquei que somente depois de passar pelo pós e chegar no pré-página a variável teria seu valor gravado. Como justificar isso? Eu não sei! Brinco com os meus colegas que só conhecendo "o lado negro da força (Jedi)".

Abraços, e gostaria de uma justificativa mais aceitável para isso.

Cláudio Lemos

 

Autor: Cláudio José de Faria Lemos


55 comentários

  • 7922a923e46003d825d8be6ba612be0b?only path=false&size=50&d=404Geraldo Moraes(usuário não autenticado)
    31 de Agosto de 2010, 0:44

     

    Não entendi sua colocação. Se uma pagina a chama uma pagina B é feito o pos-A, pre-B e mostrada a pagina B. Se vc colocou um gravar no pos-A ele já passa a existir desde lá durante o ciclo da requisição.

    • 7922a923e46003d825d8be6ba612be0b?only path=false&size=50&d=404Geraldo Moraes(usuário não autenticado)
      31 de Agosto de 2010, 0:47

       

      Faça um teste ... coloque um gravar no pos e o proximo elemento um exportar arquivo caso a condição do gravar esteja atendida. Vc notará o exportar será executado.

  • 7c5b64ca6bbb0f49cfb9d6d51ce223a1?only path=false&size=50&d=404Ereny Sena(usuário não autenticado)
    31 de Agosto de 2010, 9:59

     

    Oi Geraldo

    Estamos falando apenas de um página 'A'. Ela possui um componente gravar que, após executado, tomaria o valor da variável gravada para dar um update e recarregaria a página em seguida. Ficamos então pensando que o update se daria no pós página, porém, a gravação no banco só aconteceu quando colocamos o update no pré-página, pois só lá a variável gravada possuia valor.

    Só pra explicar a história de Lemos melhor.

    Abraços,

    Ereny

    • 1ceb23f98eb872dd134bb77bda146cb4?only path=false&size=50&d=404Luciano Borges(usuário não autenticado)
      31 de Agosto de 2010, 11:37

       

      Cláudio,

      O problema deve ser que a variável no gravar é tmp, ou seja, o ciclo de vida dela é a requisição,  após o pós página indo para a própria página ela vai ser apagada e não vai aparecer no <wi:out/>

      Sds, Luciano Borges

      (71) 9922-2790

  • 93ea6fa62d1cb61564600d8a8fc35928?only path=false&size=50&d=404Jean Carlos de Oliveira Ramos(usuário não autenticado)
    31 de Agosto de 2010, 16:00

     

    Cláudio

    Utilize um recurso descrito no ajuda do wi3: Como... depurar uma aplicação no WebIntegrator usando a função wi.context() . O texto de ajuda fala em usar o recurso na pré-pagina. Em vez disso coloque na pós-pagina. Para o seu caso este recurso de depuração é mais adequado do que o wi:out porque você saberá se o pós-pagina está sendo executado ou não e caso esteja sendo executado, você verá os valores de cada variável dos contextos controlado pelo wi3.

    O motivo mais comum para o pós-pagina não ser executado é a falta de um campo oculto de nome wi.page.prev no formulário da página. O valor deste campo deve ter o valor da variável |wi.page.id|. Caso o campo wi.page.prev não exista no formulário ou existindo com um valor diferente do valor da variável |wi.page.id| o pós-página não é executado.

    Jean Carlos de Oliveira Ramos
    INFOX Tecnologia da Informação Ltda
    Analista de Sistema / Fabrica - SergipeTec

Essa comunidade não possui posts nesse blog