[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Resetar valor de um output  XML
Forum Index -> Comentários Gerais Go to Page: 1, 2 Next 
Author Message
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Quando eu crio um input <mtw:input name="teste">, não perco o valor dele, ou seja, se tiver um outro formulário que tenha o <mtw:input name="teste">, ele vai receber o valor do formulário atrás... só que se eu mudar esse valor no banco ele não muda nesse <mtw:input name="teste"> tbém... sei lá, tenho um formário que atualiza dados... eu atulalizo esses dados, o banco faz a atualição mas a tag não muda de valor... na verdade o output da minha action não muda de valor...
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Explica direito. Não entendi absolutamente nada...

Sergio Oliveira

Lobo


[Avatar]

Joined: 23/01/2006 02:17:14
Messages: 841
Location: Fortaleza-CE
Offline

Quando eu crio um input <mtw:input name="teste">, não perco o valor dele, ou seja, se tiver um outro formulário que tenha o <mtw:input name="teste">, ele vai receber o valor do formulário atrás 



Depois de concluída uma requisição (request) ao servidor os dados se perdem, veja se você está jogando esses valores a nível de sessão (session).

Caso não esteja jogando os valores em sessão (session) então significa que a resposta (response) da sua requisição (request) ainda está disponível.

Não entendi também o que você quiz dizer exatamente, mas existe ainda a possibilidade de você estar fazendo um repasse (foward) e não um redirecionamento (redirect).

No foward você pode repassar valores, no redirect os você poderá zerar esses valores. Na verdade você pode zerar na marra tudo se quizer :]


Você está usando formulários "passo a passo" ? aqueles que o usuário clica em "NEXT", "NEXT","NEXT" ... ?

o_0 ?

Atenciosamente,
Hélio Frota


Atenciosamente,
Hélio Frota

Helio Frota
10+ Java Programmer
heliofrota.com

Member
Mentawai Developer
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Lobo wrote:

No foward você pode repassar valores, no redirect os você poderá zerar esses valores. Na verdade você pode zerar na marra tudo se quizer :] 

Como?
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

saoj wrote:
Explica direito. Não entendi absolutamente nada... 

Tenho um objeto chamado Person que pego do banco pelo id do usuário da session... depois seto num output chamado "name", assim:

Code:
Person person = this.personManager.loadById( personSession.getId() );
 output.setValue( "name" , person.getName() );

No meu JSP tenho uma formulário que recebe esse "name", assim:

Code:
<mtw:input type="text" name="name" size="25" maxlength="150" />

O usuário vê o nome dele nessa tag e modifica, depois clica num botão gravar... no banco ele grava o nome alterado... só que quando clico no menu da minha aplicação pra alterar o nome novamente, na tag aparece o antigo nome dele, entende? No banco atualizada, na tag continua o conteúdo antigo, não atualizado...
Lobo


[Avatar]

Joined: 23/01/2006 02:17:14
Messages: 841
Location: Fortaleza-CE
Offline

depois clica num botão gravar... 


Clica num botão gravar, isso deveria ser um request na minha opinião, um "gravado com sucesso" como resposta ou algo do tipo e ao clicar no menu seria outro request que não tem nada haver, ou seja , outra ação que não tem nada haver com o botão gravar.

Com isso o nome que estaria "grudado" nessa sua tag por default era para desaparecer já que o escopo request terminou depois que foi recebido o response da ação de gravar entende.

O nome ao meu ver so não "desgruda" dessa tag caso esteja no escopo session você tem certeza de que não está jogando a nível de session esse dado ?

Nos sistemas que estou fazendo e os que já fiz usando o mentawai eu separo claramente as ações, por exemplo clicar num botão salvar é uma ação que o usuário faz logo eu crio uma action pra isso ou na maioria das vezes crio algo Action.add, Action.delete, Action.update entende.

Faço redirect da seguinte forma , vi no site do mentawai o exemplo e funciona legal, fiz isso algo assim para redirecionar para a página de resultado da enquete no site do TCE/CE para não levar os dados pra página de resultado assim pude manipular para que o gráfico de resultado não se modifique ou seja não ocorra mais votação caso o usuário tecle F5.

Code:
ac = new ActionConfig("/Acao", Acao.class);
 		ac.addConsequence(Acao.SUCCESS, new Redirect("/algum_lugar.jsp", true));
 		ac.addConsequence(Acao.ERROR, new Forward("/outro_lugar.jsp.jsp"));
 		addActionConfig(ac);



Espero ter ajudado em alguma coisa...

Atenciosamente,
Hélio Frota

Atenciosamente,
Hélio Frota

Helio Frota
10+ Java Programmer
heliofrota.com

Member
Mentawai Developer
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Vc está modificando no banco e esquecendo de atualizar o seu objeto em memória.

Sergio Oliveira

andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Lobo wrote:
Code:
ac = new ActionConfig("/Acao", Acao.class);
 		ac.addConsequence(Acao.SUCCESS, new Redirect("/algum_lugar.jsp", true));
 		ac.addConsequence(Acao.ERROR, new Forward("/outro_lugar.jsp.jsp"));
 		addActionConfig(ac);
 

Já tentei fazer um redirect... mesmo assim ele não perde o valor... o output grava os dados em session?

andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

saoj wrote:
Vc está modificando no banco e esquecendo de atualizar o seu objeto em memória. 

Cada vez que eu clico em "atualizar dados", ele executa isso no action:

Code:
Person person = this.personManager.loadById( personSession.getId() );
 output.setValue( "name" , person.getName() );

e vai para o form aonde tem isso:

Code:
<mtw:input type="text" name="name" size="25" maxlength="150" />

Ou seja, antes de exibir o form ele busca a informação, que foi atualizada, do banco e insere no output, toda vez que eu clico em "atualizar dados"...
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Será que tem algo a ver com o Hibernate?
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Na minha cabeça o problema é simples: Vc atualiza no banco mas não dá um REFRESH no seu objeto.

Ou vc não está fazendo isso ou o Hibernate não está fazendo isso.

Uma vez carregado o objeto do banco, deve haver um cache aí, ou seja, se o banco mudar, o objeto não vai saber disso pois está cacheado.

Veja se tem algo haver com isso...


Sergio Oliveira

andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Será que é pq não to usando o HibernateFilter?
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Tenta forçar um refresh, ou seja, recarregar o objeto de novo do banco via Hibernate.

Eu não manjo de Hiberante para te ajudar, mas isso deve ser possível, principalmente depois que vc utiliza uma session diferente.

Por um acaso vc está usando a mesma session pra tudo ???

Se tiver fazendo isso aí é muito feio...


Sergio Oliveira

andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

andre_guitar7 wrote:
Será que é pq não to usando o HibernateFilter? 


Ops, falei errado... será que é pq não usando o HibernateTransaction? O HibernateFilter eu to usando sim...
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Na minha cabeça é o seguinte:

se vc altera o banco na mão e pega o objeto através de uma nova session, a sua mudança vai aparecer ou não.

Se não aparecer significa que o hibernate está cacheando o seu objeto internamente.

Tem que entender isso...

Alguém (vc ou o hibernate) tem que atualizar o objeto se ele mudou...

Sergio Oliveira

 
Forum Index -> Comentários Gerais Go to Page: 1, 2 Next 
Go to:   
Powered by JForum 2.1.6 © JForum Team