No Struts, por que tem que mapear os campos do formulário num xml, quando uso DynActionForms ?  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
carneiro
JavaEvangelist
[Avatar]

Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline

Olá amigos,

Tenho usado o WebWork e dado uma olhada em outros frameworks mvc, e, apenas por curiosidade, queria saber porque o Struts requer que eu mapeie os campos do formulário que eu quero usar com os DynActionForms.

Eu não vi o porque isso precisa ser feito...

Valeu pessoal!

Davi Luan Carneiro
Desenvolvedor JEE
[Email] [MSN]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

A pergunta é, porque isso não deveria ser feito? O que é que tem de errado?

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
ZehOliveira
GUJ Ranger

Membro desde: 12/12/2003 22:13:49
Mensagens: 964
Localização: Maceio-AL
Offline

queria saber porque o Struts requer que eu mapeie os campos do formulário

Quer pq quer. Pq nao injeta os dados diretamente. Sabe-se lá pq não fizeram assim...

O que é que tem de errado?

Pra que ser simples se pode ser complicado?

Vai dizer que o jeito que o webwork faz (injetando os dados) não é mais facin, simplezin, docin e deixa a criançada mais feliz?
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

ZehOliveira wrote:
queria saber porque o Struts requer que eu mapeie os campos do formulário

Quer pq quer. Pq nao injeta os dados diretamente. Sabe-se lá pq não fizeram assim...

O que é que tem de errado?

Pra que ser simples se pode ser complicado?

Vai dizer que o jeito que o webwork faz (injetando os dados) não é mais facin, simplezin, docin e deixa a criançada mais feliz?


Olha, se ele não quer "mapear" usando DynaActionForm, é só colocar um Map pra receber todas as propriedades. Não vai ter que descrever nada no XML.

Ainda não vejo qual é o problema de se definir as propriedades do DynaActionForm.

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
carneiro
JavaEvangelist
[Avatar]

Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline

Ainda não vejo qual é o problema de se definir as propriedades do DynaActionForm.


O problema é que poderia ser feito de um jeito mais fácil, mais simples.

Como disse o Zeh, é bem mais simples no ww, e em outros frameworks também...

Bem, então o Struts requer que eu mapeie os dynactionforms simplesmente por opção, e não por alguma necessidade?

tsc tsc

Davi Luan Carneiro
Desenvolvedor JEE
[Email] [MSN]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

Ele requer que você mapeie porque se não mapear, como é que o sistema vai saber quais são as propriedades do DynaBean? Ele vai adivinhar?

Se o seu ponto é criticar o Struts por isso ou por aquilo, diga logo, não enrole não, mas arranje outro motivo, porque esse tá furado

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
LuizAvila
JavaTeenager
[Avatar]

Membro desde: 07/11/2004 22:35:12
Mensagens: 189
Localização: Florianópolis
Offline

carneiro wrote:

O problema é que poderia ser feito de um jeito mais fácil, mais simples.

Como disse o Zeh, é bem mais simples no ww, e em outros frameworks também...


Exemplifique, cite trechos de código onde isso seria simplificado pra gente...

carneiro wrote:
Bem, então o Struts requer que eu mapeie os dynactionforms simplesmente por opção, e não por alguma necessidade?

tsc tsc

Não precisa mapear dynaactionforms, pode usar actionforms

Luiz Ávila
GU Java SC
http://www.gujava.org.br
http://www.baixoacoplamento.blog.br
[WWW] [MSN]
carneiro
JavaEvangelist
[Avatar]

Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline

A questão não criticar, mas sim aprender, pois estou desenvolvendo um framework mvc.

De qualquer forma, valeu pelas participações

Davi Luan Carneiro
Desenvolvedor JEE
[Email] [MSN]
fabio.patricio
GUJ Master

Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline

LuizAvila wrote:
carneiro wrote:

O problema é que poderia ser feito de um jeito mais fácil, mais simples.

Como disse o Zeh, é bem mais simples no ww, e em outros frameworks também...


Exemplifique, cite trechos de código onde isso seria simplificado pra gente...


No WW nao é preciso isso, mas tem que manter o padrao de nome na view pra ele se achar.
Mas com certeza eu prefiro criar um input com name "usuario.nome" e na minha action ter um getUsuario e no usuario um setNome do que ter que ficar mapeando.

Na boa o pessoal so ve a facilidade quando usar. Experimente WW por 2 horas, so nao me culpe se depois disso resolver jogar o Struts longe

]['s


Fabio Patricio
http://blog.wansoft.com.br

[WWW] [MSN] [ICQ]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

fabgp2001 wrote:

No WW nao é preciso isso, mas tem que manter o padrao de nome na view pra ele se achar.
Mas com certeza eu prefiro criar um input com name "usuario.nome" e na minha action ter um getUsuario e no usuario um setNome do que ter que ficar mapeando.

Na boa o pessoal so ve a facilidade quando usar. Experimente WW por 2 horas, so nao me culpe se depois disso resolver jogar o Struts longe

]['s



Uau! Quer dizer que você tem um getUsuario() na sua Action? E que o Usuario que ele retorna tem um getNome()? Uau!

Você pelo menos imagina o que venha a ser um ActionForm no Struts companheiro?

Ou melhor, você sabe o que é um DynaBean?

Acho que estamos com um sério problema de comunicação aqui. Um DynaBean, é um objeto que recebe os atributos em tempo de execução, quando você fizer um set("nome","nome") nele, ele ganha um atributo "nome", que se você tentar acessar usando a classe PropertyUtils, não vai dar uma "java.lang.NoSuchMethodException". Quando você coloca a propriedade lá, é como se ele virasse uma classe com um getNome() e um setNome().

Como o Struts não tem como adivinhar quais são as propriedades do objeto (assim como o WebWork não adivinha), você tem que dizer quais são as propriedades do DynaBean pra que ele possa colocar elas lá.

Agora, se você não quer usar um DynaBean, pode usar um ActionForm normal, e colocar nele as propriedades que você quizer e elas não vão ter que ser mapeadas no arquivo de configuraçlão do Struts.

Eu digo denovo, antes de falar, pelo menos saiba do que você está falando.

This message was edited 1 time. Last update was at 17/06/2005 13:34:17


Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
saoj
JWizard
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline

Maurício,

O que vc achou do VOFilter do Mentawai? Dá uma olhada em: http://mentawai.lohis.com.br/filters.jsp

Não consegue a mesma coisa com muito mais simplicidade ???

Não estou afirmando não! Se vc discorda me dá umas dicas para eu melhorar a coisa lá...


Sergio A Oliveira Jr. - saoj

ExperiMENTA:

Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org


[Email] [WWW]
ZehOliveira
GUJ Ranger

Membro desde: 12/12/2003 22:13:49
Mensagens: 964
Localização: Maceio-AL
Offline

Acho que estamos com um sério problema de comunicação aqui. Um DynaBean, é um objeto que recebe os atributos em tempo de execução, quando você fizer um set("nome","nome") nele, ele ganha um atributo "nome", que se você tentar acessar usando a classe PropertyUtils, não vai dar uma "java.lang.NoSuchMethodException". Quando você coloca a propriedade lá, é como se ele virasse uma classe com um getNome() e um setNome().

Era essa a simplicidade que eu tava procurando...

Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

saoj wrote:Maurício,

O que vc achou do VOFilter do Mentawai? Dá uma olhada em: http://mentawai.lohis.com.br/filters.jsp

Não consegue a mesma coisa com muito mais simplicidade ???

Não estou afirmando não! Se vc discorda me dá umas dicas para eu melhorar a coisa lá...



Não tô conseguindo abrir a página não

E sobre a simplicidade Zeh, leia o resto ou veja a documentação que você vai entender. Os DynaBeans servem pra você não ter que compilar uma nova classe só pra "carregar" dados, você define as propriedades dela no XML e a validação também no XML, sem escrever nenhuma linha de código.

Mais simples do que isso, só se o Struts advinhasse as propriedades pra você

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
fabio.patricio
GUJ Master

Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline

Olá,


Maurício Linhares wrote:
Uau! Quer dizer que você tem um getUsuario() na sua Action? E que o Usuario que ele retorna tem um getNome()? Uau!


Tu sabe pra que serve isso? Esse comentario realmente era necessário?

Eu falei do atributo na action pois no WW nao precisa de mapeamento, este é feito diretamente na view, ou seja, no nome do input.



Quando tu executar tua action:



Teu atributo nome da classe usuario ja vai estar preenchido, nao precisando de mapeamento adicional.

Sobre o restante dos comentarios, tu perdeu uma otima oportunidade de ficar em silencio.

Maurício Linhares wrote:Eu digo denovo, antes de falar, pelo menos saiba do que você está falando.


Eu tambem te pergunto isso, tu entendeu o que eu queria dizer quando dei o exemplo do WW?


]['s


Fabio Patricio
http://blog.wansoft.com.br

[WWW] [MSN] [ICQ]
fabio.patricio
GUJ Master

Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline

Maurício Linhares wrote:Mais simples do que isso, só se o Struts advinhasse as propriedades pra você


Kd o CV pra catequizar mais um?

]['s

Fabio Patricio
http://blog.wansoft.com.br

[WWW] [MSN] [ICQ]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team