E aí moçada, estou aqui em pleno domingão desvendando o WW para não matar mais tantas foquinhas todo o dia, e visto que na empresa q trabalho iremos no fim do ano iniciar um desenvolvimento bravo em web e terei de ensinar mais uns 5 desenvolvedores algum framework, e lógicamente, o número de focas mortas seria multiplicado por 5, então espero que vcs me ajudem com essa pequena dúvida de iniciante:
estou tentando fazer uma simples action funcionar utilizando a interface ModelDriven, onde estou errando? pois o bean não é carregado:
Obs.: os nomes dos campos no form são iguais aos nomes das propriedades dos beans.
bean “Magazine”
publicclassMagazineimplementsSerializable{privateLongcodigo;privateStringnome;privateStringeditora;privateintpaginas;//gets and sets}
Que tipo de erro esta ocorrendo ?
Por um acaso estou fazendo um trabalho aqui com WebWork e Hibernate e jah vi varios tipos de erros ocorrendo.
Assim poderemos ir direto ao ponto.
andre_a_s
Tenta implementar a classe CommandDriven
eduardo_lopes
Nâo ocorre erro algum, apenas o bean “Magazine” não é populado, se vc olhar o código peço para que escreva no log os valores mas o que tenho de resultado é:
Codigo:nullNome:null
Bom, na verdade nem sei pra que serve essa classe, como disse estou “desvendando” o WW, mas vou procurar algo a respeito.
Valeu!
Eduardo
cv1
Eduardo, quais as variaveis do seu form HTML? Tenta colocar uma tag form simplezinha e um botao de submit, mais ou menos assim:
diogenes, abri o webwork-default e está lá a declaração do interceptor.
bom fiz os testes q vcs pediram e não adiantou.
Caramba, é uma vergonha mesmo, mas não to conseguindo, se alguém conseguir tá em anexo o projeto (ridículo), apenas não adicionei os libs mas os arquivos estão listados abaixo:
R
roberto.porfiro
Eduardo tenta mudar teu arquivo index.jsp ai para este codigo, no mometo não tenho como testar mas acredito que resolva.
WebWork Tutorial - Lesson 3 - Example 1
Click the button below to activate HelloWebWorldAction.
R
roberto.porfiro
notei que enviando o texto altera visualização
onde vc estiver vendo ‘’’ tres apostofes isto e " aspas dulplas mais ’ e depois a variável .
F
fabio.patricio
Hmm, e o metodo set onde esta?
Como o WW, vai criar teu objeto setando os valores dele (que estao no teu form) e depois setar na action?
Click the button below to activate HelloWebWorldAction.
eduardo_lopes
fabgp2001:
Hmm, e o metodo set onde esta?
Como o WW, vai criar teu objeto setando os valores dele (que estao no teu form) e depois setar na action?
]['s
ok fábio, mas eu já estou declarando o meu objeto Magazine e instanciando ele (Magazine model = new Magazine()), mesmo assim, criando o método “set” não adiantou =o(
valeu roberto, vc tá tentando me fazer testar se o webwork tá rodando corretamente né? eu já rodei os exemplos do tutorial oficial, tá tudo normal, apenas não to conseguindo popular o bean nessa minha classe “Magazine”
[]'s
Z
ZehOliveira
Está lá, fábio. Pelo menos ele botou um comentário no código dizendo que contem os getters e setters. :evil:
[editado]: ahmmmm! ok, Fabio.
F
fabio.patricio
Eu tava falando do zip que ele colocou aqui anexado. Que nao tem set pra String hello.
Outra coisa, no teu web.xml tu declara o jar do WW assim.
E nas lib (postada anteriormente) ta usando o jar 2.1.7
A unica coisa que eu achei diferente é que nao tem a declaracao do filtro e listener do WW no web.xml.
]['s
R
roberto.porfiro
Era isto mesmo mas se vc diz que esta ok ! Então verifique a chamada para getModel e setModel em sua Action !
eduardo_lopes
ok fábio, esse meu exemplo anterior tava furado, é q eu tava reproduzindo o meu código que está em casa, daí deixei alguns vestígios dos tutoriais, dê uma olhada nesses fontes, e esqueça o que tinha de “HelloWorld” no exemplo anterior, o meu problema está na classe MagazineAction e o bean Magazine.
eduardo_lopes
ah, e aqui na documentação não diz nada de filter e listeners:
bom moçada, não sei o que eu entendi errado, agora eu coloquei explicitamente um get para o meu objeto Magazine e também um set para ele, tirei o interceptor do “model-driven” e também fiz a action não implementar ModelDriven.
Agora funcionou, então, para que serve esse ModelDriven? Ele não deveria popular o meu bean ?
_fs
WebWork já popula os beans. Essa interface é só perfume.
R
roberto.porfiro
Eu utilizei o ModelDriven e funcionou , mas no meu form utilizo o nome do meu bean, por exemplo tenho um bean “Usuario”, no form utilizo assim:
usuario.id
usuario.username
etc …
Acredito que se vc utilizar com o nome do seu bean deva funcar ,
tente com magazine.variavel , isto no teu arquivo *.vm .
Assim saberemos se este Model serve pra algo ! Rsssssssssss !
Z
ZehOliveira
Serve exatamente para que você não precise definir o nome do bean (acho que a vantagem disso já foi explicada nessa thread). Só precisa passar no form o nome do atributo, ele seta os valores no bean definido como model.
Passando o nome do bean no form (usuario.id, usuario.nome) você não vai está fazendo uso de “Model Driven”, nem precisa implementar essa interface.
Assim como o Lipe, também acho essa interface perfume. Não vejo uma vantagem real, além de poder dizer pros coleguinhas que sei usar Model Driven e eles não. :mgreen:
eduardo_lopes
putz, eu não posso dizer o mesmo para os coleguinhas, rs, pq aqui não funcionou, mas pensando bem vou usar o nome do bean e boa por enquanto.