| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/10/2006 10:07:40
|
gilliard_santos
JavaGuru
![[Avatar]](/images/avatar/b14680dec683e744ada1f2fe08614086.jpg)
Membro desde: 02/09/2004 12:35:28
Mensagens: 236
Localização: Campo Grande, MS
Offline
|
Olá pessoal, eu baixei a aplicacao da loja virtual feita com JSF + Spring-Annotation mas nao encontrei em nenhum lugar o que exatamente cada coisa faz.
Por exemplo nesse managed bean:
para que servem as anotacoes @DataModel e @DataModelSelection?
e a anotacao @Valid do hibernate, o que ela faz no managed bean?
além disso tem a anotacao @IfInvalid, que eu também nao sei o que que faz....
o pra finalizar, como que funciona a navegacao do JSF usando Spring-Annotation já que nao tem nada no faces-config.xml?
Pelo que vi aqui, tem esse "def:list" e "def:form" que por convencao procura a pagina list ou form dentro da pasta com o nome do managed bean. E isso mesmo? E como fica nos demais casos onde eu quero enviar para uma outra pagina qualquer, como eu faço a restricao sem faces-config?
Só pra fazer um paralelo, usando XDoclet eu fazia assim
como ficaria com o Spring-Annotation?
Eu pergunto pois pelo que andei vendo nao tem muita documentacao né, inclusive o próprio Urubatan falou isso.
Tenho muito interesse de aprender, pois parece que deixa as coisas bem mais ágeis na ora de desenvolver.
valeu pessoal, aguardo a resposta de quem puder ajudar.
E dependendo de como for, eu gostaria de poder escrever alguns tutoriais passo a passo para ajudar a documentar essa ferramenta que pra mim, mesmo ainda sem saber como usar, se fizer o que esta parecendo, para mim vai ser ótimo.
|
http://gilliard.eti.br |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/10/2006 11:24:03
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline
|
bom, começando do começo então D
@DataModel disponibiliza aquela lista como um ListDataModel para que tu acesse #{produtos} como value para um dataTable
a vantagem disto, é que quando tu clicar em um commandLink ou commandButton em uma linha da tabela, o campo anotado com @DataModelSelection vai ser preenchido automagicamente com o valor daquela linha da lista ...
o @IfInvalid (que aceita um parametro opcional outcome) diz que o managedbean precisa ser validado antes de executar aquela action (a validação é feita usando o hibernate validator)
então o @Valid faz a mesma coisa que no hibernate validator, ou seja, diz que Produto tem que ser valido para este mbean ser valido.
só serão considerados na validação os campos que estiverem na tela, ou seja, campos para os quais existir um input qualquer com o value apontando para eles.
quanto a navegação ...
pode ser utilizado o faces-config.xml sem problema nenhum ...
mas o Spring-Annotation traz um navigation handler pra facilitar a vida que faz o seguinte ...
se o método action retornar "def:qualquer coisa"
a página que vai ser renderizada vai ser:
/nomeDoManagedBean/qualquercoisa.jsp
bem parecido com o que a ultima versão do VRaptor esta fazendo ...
não sei se foram resolvidas todas as duvidas, mas quaquer coisa é só perguntar
ahh, e mais uma coisa ...
arrumei um tempo para alterar o projeto para utilizar o maven 2.
separei em modulos (core, jsf, hibernate, web, ...)
e com isto estou começando a escrever a parte de documentação (pelo menos alguma coisa)
então em no máximo um mes ja deve estar sainda alguma coisa de documentação e um site novo (tudo bem, naquele layout meia boca gerado pelo maven )
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/10/2006 17:47:21
|
gilliard_santos
JavaGuru
![[Avatar]](/images/avatar/b14680dec683e744ada1f2fe08614086.jpg)
Membro desde: 02/09/2004 12:35:28
Mensagens: 236
Localização: Campo Grande, MS
Offline
|
Valeu Urubatan, eu vou dar mais uma olhada naquele tutorial do RSJUG e conforme for aparecendo as duvidas eu posto aqui. Mas por enquanto as respostas já valeram.
E parabéns pelo projeto
|
http://gilliard.eti.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/10/2006 10:20:19
|
gilliard_santos
JavaGuru
![[Avatar]](/images/avatar/b14680dec683e744ada1f2fe08614086.jpg)
Membro desde: 02/09/2004 12:35:28
Mensagens: 236
Localização: Campo Grande, MS
Offline
|
Dentro do DAO, no metodo save nao estava funcionando e estava assim
e eu olhando o metodo upadate, que funcionava tinha um session.flush()...
entao eu coloquei ele no save também e entao funcionou, ficando assim
A minha duvida é se isso deveria ser assim mesmo ou nao. Nos meus DAOs genericos eu geralmente tenho uma transaction envolvendo o metodo save e isso é o suficiente para persistir os dados, entao pensei q a anotacao @Transaction garantisse o mesmo comportamento, mas pelo jeito funciona um pouco diferente e eu acabo tento q chamar o flush.
Sendo assim eu sempre vou ter q colocar flush no meu DAO?
E outra perguntinha com relacao às dependencias...
Toda vez que eu tiver um setAlgumaCoisa e o spring-annotation encontrar um @Bean("algumaCoisa") ele vai chamar meu set passando esse objeto? Como que isso funciona?
|
http://gilliard.eti.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/10/2006 10:42:31
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline
|
quanto ao flush, é algum bug no exemplo :S sorry ...
(juro que quando eu testei o save tava funcionando )
e quanto a segunda pergunta sim ...
isto enquanto não for setado o autoWire=none no @Bean
para fazer isto é utilizado o autowire do spring, ou seja, da pra fazer a mesma coisa com XML
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/10/2006 11:26:11
|
gilliard_santos
JavaGuru
![[Avatar]](/images/avatar/b14680dec683e744ada1f2fe08614086.jpg)
Membro desde: 02/09/2004 12:35:28
Mensagens: 236
Localização: Campo Grande, MS
Offline
|
Como eu disse antes, conforme eu vou mexendo as duvidas vao aparecendo...
no exemplo, eu tenho isso
sobre isso eu tenho duas perguntas, como a lista produtos é inicializada e como da minha jsp eu só referencio #{produtos} sem precisar colocar o nome do managed bean?
Com relacao a primeira pergunta, parace que no Seam tem uma anotacao que serve para inicializar esses casos, ficaria mais ou menos assim:
Aí fiquei na duvida de como isso é inicializado no Spring-Annotation, e se for algo automatico onde ele lista todos, nao teria como fazer algo personalizado como com esse find?
No Spring-Annotation nao tem nada parecido para eu usar com um combo-box em vez de um dataTable?
|
http://gilliard.eti.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/10/2006 11:37:30
|
gilliard_santos
JavaGuru
![[Avatar]](/images/avatar/b14680dec683e744ada1f2fe08614086.jpg)
Membro desde: 02/09/2004 12:35:28
Mensagens: 236
Localização: Campo Grande, MS
Offline
|
Bom, antes que voce responda a pergunta anterior deixa eu adiantar a proxima
se eu uso autoWire=none no @Bean tem outra forma deu conseguir injetar ele no meu objeto ou o spring-annotation trabalha especificamente com autoWire?
to perguntando mais pra saber mesmo, porque na pratica acredito que com autoWire consiga fazer tudo que eu quero.
Valeu Urubatan, to gostando desse negócio...
|
http://gilliard.eti.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/10/2006 12:21:01
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline
|
se usar o autowire=none ai tu pode começar a usar as anotações
@Value("#{qualquer expressão da EL do JSF}")
ou então @Property especificando value ou ref value para o valor fixo e ref para referenciar outro bean
na versão do spring-annotation que esta disponivel para download não existe ainda o @Factory
mas no trunk do SVN no @DataModel tem um parametro factory, que aponta para um metodo de qualquer mbean usando EL, e este metodo vai ser chamado quando não existir a variavel, semelhante ao @Factory
espero conseguir liberar a proxima versão na semana que vem ...
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/10/2006 14:14:06
|
gilliard_santos
JavaGuru
![[Avatar]](/images/avatar/b14680dec683e744ada1f2fe08614086.jpg)
Membro desde: 02/09/2004 12:35:28
Mensagens: 236
Localização: Campo Grande, MS
Offline
|
Mas no caso de exemplo do RSJUG (ou outro exemplo) como que esta sendo iniciada a lista já que ainda nao tem factory?
|
http://gilliard.eti.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/10/2006 15:03:07
|
robson_vs
JavaEvangelist
Membro desde: 26/05/2006 14:27:44
Mensagens: 334
Localização: São Paulo
Offline
|
urubatan wrote:
ahh, e mais uma coisa ...
arrumei um tempo para alterar o projeto para utilizar o maven 2.
separei em modulos (core, jsf, hibernate, web, ...)
e com isto estou começando a escrever a parte de documentação (pelo menos alguma coisa)
então em no máximo um mes ja deve estar sainda alguma coisa de documentação e um site novo (tudo bem, naquele layout meia boca gerado pelo maven  )
Cara deixa eu te perguntar uma coisa gostaria de saber quando vai mexer neste projeto??? gostaria de sugerir q aproveita-se a oportunidade para fazer um video aula tipo este: http://www.paulojeronimo.com/tutoriais/tutorial-ejb3/videos/01-configuracao-jboss.html
se tiver interese eu tenho o software e posso te passar fiquei muito curioso com alguns recursos q vc usa como o Spring-Annotation e o Facelets gostaria de aprender mais sobre os mesmos e o seu tutoria pode ajudar.
apropósito de a sua contribuição no tópico http://www.guj.com.br/posts/list/43023.java pois com a sua bagagem e experiência seria fundamental para abrir novos horizontes para nós iniciante.
fico aguardando sua resposta
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/10/2006 15:14:32
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline
|
gilliard_santos wrote:Mas no caso de exemplo do RSJUG (ou outro exemplo) como que esta sendo iniciada a lista já que ainda nao tem factory?
no caso deste exemplo tem que passar por uma action antes de ir pra JSP
sim, eu sei que é feio ...
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/10/2006 19:41:00
|
gilliard_santos
JavaGuru
![[Avatar]](/images/avatar/b14680dec683e744ada1f2fe08614086.jpg)
Membro desde: 02/09/2004 12:35:28
Mensagens: 236
Localização: Campo Grande, MS
Offline
|
hehehe, esquenta nao, pelo q vc falou, logo logo sai a versao com factory
até lá eu vou aprendendo as outras coisas hehehe.
valeu Urubatan.
|
http://gilliard.eti.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/10/2006 19:46:23
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline
|
robson_vs wrote:
Cara deixa eu te perguntar uma coisa gostaria de saber quando vai mexer neste projeto??? gostaria de sugerir q aproveita-se a oportunidade para fazer um video aula tipo este: http://www.paulojeronimo.com/tutoriais/tutorial-ejb3/videos/01-configuracao-jboss.html
se tiver interese eu tenho o software e posso te passar fiquei muito curioso com alguns recursos q vc usa como o Spring-Annotation e o Facelets gostaria de aprender mais sobre os mesmos e o seu tutoria pode ajudar.
apropósito de a sua contribuição no tópico http://www.guj.com.br/posts/list/43023.java pois com a sua bagagem e experiência seria fundamental para abrir novos horizontes para nós iniciante.
fico aguardando sua resposta
como assim? não entendi a pergunta ...
vou ver se é possivel fazer uma video aula
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/10/2006 19:57:37
|
robson_vs
JavaEvangelist
Membro desde: 26/05/2006 14:27:44
Mensagens: 334
Localização: São Paulo
Offline
|
é q se quizer tenho o software para fazer este video aula e posso te passar
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/10/2006 22:18:11
|
gilliard_santos
JavaGuru
![[Avatar]](/images/avatar/b14680dec683e744ada1f2fe08614086.jpg)
Membro desde: 02/09/2004 12:35:28
Mensagens: 236
Localização: Campo Grande, MS
Offline
|
Nossa, fiz tanta pergunta em uma só que acabei me perdendo
sobre isso eu tenho duas perguntas, como a lista produtos é inicializada e como da minha jsp eu só referencio #{produtos} sem precisar colocar o nome do managed bean?
Como mesmo que a pagina encontra o #{produtos} sem passar o nome do managed bean? pois vi que em outro managed bean tem um atributo com o mesmo nome e mesma anotacao, entao como saber quem é quem? pelo caminho da pagina? (já que segue convencoes)...
a outra questao é essa:
No Spring-Annotation nao tem nada parecido para eu usar com um combo-box em vez de um dataTable?
Seria uma mao na roda se tivesse algo assim, usando aquela anotacoes @DataModel e @DataModelSelection (mesmo que o nome da anotacao fosse diferente).
Mas aí teria que tratar o caso de voce ter dois combos no mesmo managed bean, e isso também pode acontecer com o dataTable... tem como eu falar no meu @DataModelSelection que @DataModel ele está referenciando?
bom, depois de mais essas acho que as perguntas acabaram hehhee
|
http://gilliard.eti.br |
|
|
 |
|
|