| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2006 14:45:20
|
Kenobi
GUJ Master
![[Avatar]](/images/avatar/cf2226ddd41b1a2d0ae51dab54d32c36.jpg)
Membro desde: 14/11/2003 13:06:37
Mensagens: 1678
Localização: Brasil
Offline
|
Esse é o problema !! Eu conheço a hierarquia e ambos controllers são utilizados para tarefas parecidas, a diferença que no multiaction você pode ter concentrado num mesmo vários métodos e expor diretamente à aplicação, concentrando recursos num controller.
Sou fã de uma revisão como o proposto no link, realmente não acredito que tinha necesssidade de ser tão diferente, poderiam concentrar os serviços - infra na base e depois tudo bem mudar a hierarquia.
|
----------------------------------------------------------
SOA|EXPERT - http://www.soaexpert.com.br
SOA de um jeito simples e eficiente. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2006 15:12:16
|
Gerson
JavaChild
![[Avatar]](/images/avatar/ccb1d45fb76f7c5a0bf619f979c6cf36.jpg)
Membro desde: 26/01/2003 19:48:37
Mensagens: 113
Localização: São Paulo
Offline
|
Kenobi wrote:
Esse é o problema !! Eu conheço a hierarquia e ambos controllers são utilizados para tarefas parecidas, a diferença que no multiaction você pode ter concentrado num mesmo vários métodos e expor diretamente à aplicação, concentrando recursos num controller.
Sou fã de uma revisão como o proposto no link, realmente não acredito que tinha necesssidade de ser tão diferente, poderiam concentrar os serviços - infra na base e depois tudo bem mudar a hierarquia.
Tinha sim!
Aí que tá, a diferença entre SimpleFormController e MultiActionController é muito mais que ''ter concentrado num mesmo vários métodos e expor diretamente à aplicação!
SimpleFormController foi criado para se trabalhar com formulário. Dê uma olhada no workflow em sua superclasse para entender a diferença:
http://www.springframework.org/docs/api/org/springframework/web/servlet/mvc/AbstractFormController.html#workflow
Já o MultiActionController é totalmente diferente, não está relacionado com um formulário. Dá até pra fazer binding também, mas não é binding de dados de um formulário. Ele, por exemplo, não diferencia uma submissão (normalmente método post) de uma requisição de formulário (normalmente get). É isso que precisa entender. Senão vai achar que tudo isso é loucura mesmo por serem tão diferentes. No Struts, por ex, os controller são todos iguais, independente de trabalhar ou não com formulário. O que muda é um raios de ActionForm associado no struts-config.xml.
Então, o que vc deve estar sentido falta no Spring é um controller que trabalhe com Form e ao mesmo tempo trabalhe com vários métodos como no MultiActionController, que é justamente a solicitação colocada no JIRA.
|
---
Gerson K. Motoyama
(SCJA, SCJP, SCWCD, SCBCD, SCEA-I) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2006 16:19:28
|
Kenobi
GUJ Master
![[Avatar]](/images/avatar/cf2226ddd41b1a2d0ae51dab54d32c36.jpg)
Membro desde: 14/11/2003 13:06:37
Mensagens: 1678
Localização: Brasil
Offline
|
Gerson wrote:
Kenobi wrote:
Esse é o problema !! Eu conheço a hierarquia e ambos controllers são utilizados para tarefas parecidas, a diferença que no multiaction você pode ter concentrado num mesmo vários métodos e expor diretamente à aplicação, concentrando recursos num controller.
Sou fã de uma revisão como o proposto no link, realmente não acredito que tinha necesssidade de ser tão diferente, poderiam concentrar os serviços - infra na base e depois tudo bem mudar a hierarquia.
Tinha sim!
Aí que tá, a diferença entre SimpleFormController e MultiActionController é muito mais que '' ter concentrado num mesmo vários métodos e expor diretamente à aplicação!
SimpleFormController foi criado para se trabalhar com formulário. Dê uma olhada no workflow em sua superclasse para entender a diferença:
http://www.springframework.org/docs/api/org/springframework/web/servlet/mvc/AbstractFormController.html#workflow
Já o MultiActionController é totalmente diferente, não está relacionado com um formulário. Dá até pra fazer binding também, mas não é binding de dados de um formulário. Ele, por exemplo, não diferencia uma submissão (normalmente método post) de uma requisição de formulário (normalmente get). É isso que precisa entender. Senão vai achar que tudo isso é loucura mesmo por serem tão diferentes. No Struts, por ex, os controller são todos iguais, independente de trabalhar ou não com formulário. O que muda é um raios de ActionForm associado no struts-config.xml.
Então, o que vc deve estar sentido falta no Spring é um controller que trabalhe com Form e ao mesmo tempo trabalhe com vários métodos como no MultiActionController, que é justamente a solicitação colocada no JIRA.
Pode ser que tenha outra utilização, mas seria um pé no saco para um CRUD vc ter 3 ou 4 Controllers.
Acho que comeram bola nessa questão e espero que a solicitação do Jira seja atendida
|
----------------------------------------------------------
SOA|EXPERT - http://www.soaexpert.com.br
SOA de um jeito simples e eficiente. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2006 18:12:50
|
Gerson
JavaChild
![[Avatar]](/images/avatar/ccb1d45fb76f7c5a0bf619f979c6cf36.jpg)
Membro desde: 26/01/2003 19:48:37
Mensagens: 113
Localização: São Paulo
Offline
|
Kenobi wrote:
Pode ser que tenha outra utilização, mas seria um pé no saco para um CRUD vc ter 3 ou 4 Controllers.
Acho que comeram bola nessa questão e espero que a solicitação do Jira seja atendida
Bom, para te ajudar enquanto não tem nada igual, como o command é o mesmo, sobreescreva o onSubmit() do SimpleFormController, faça a injeção de um MethodNameResolver, e use-o para determinar o método a ser chamado dentro do seu único Controller de acordo com a URL ou algum parametro.
|
---
Gerson K. Motoyama
(SCJA, SCJP, SCWCD, SCBCD, SCEA-I) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2006 21:06:11
|
Kenobi
GUJ Master
![[Avatar]](/images/avatar/cf2226ddd41b1a2d0ae51dab54d32c36.jpg)
Membro desde: 14/11/2003 13:06:37
Mensagens: 1678
Localização: Brasil
Offline
|
Gerson wrote:
Kenobi wrote:
Pode ser que tenha outra utilização, mas seria um pé no saco para um CRUD vc ter 3 ou 4 Controllers.
Acho que comeram bola nessa questão e espero que a solicitação do Jira seja atendida
Bom, para te ajudar enquanto não tem nada igual, como o command é o mesmo, sobreescreva o onSubmit() do SimpleFormController, faça a injeção de um MethodNameResolver, e use-o para determinar o método a ser chamado dentro do seu único Controller de acordo com a URL ou algum parametro.
Já trabalho em alguns casos dessa maneira, e sinceramente não gosto muito.
Quando o projeto começa a crescer, você sente que tem muitos controllers e tarefa repetitiva demais.
|
----------------------------------------------------------
SOA|EXPERT - http://www.soaexpert.com.br
SOA de um jeito simples e eficiente. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/08/2006 21:16:44
|
Gerson
JavaChild
![[Avatar]](/images/avatar/ccb1d45fb76f7c5a0bf619f979c6cf36.jpg)
Membro desde: 26/01/2003 19:48:37
Mensagens: 113
Localização: São Paulo
Offline
|
Kenobi wrote:
Gerson wrote:
Kenobi wrote:
Pode ser que tenha outra utilização, mas seria um pé no saco para um CRUD vc ter 3 ou 4 Controllers.
Acho que comeram bola nessa questão e espero que a solicitação do Jira seja atendida
Bom, para te ajudar enquanto não tem nada igual, como o command é o mesmo, sobreescreva o onSubmit() do SimpleFormController, faça a injeção de um MethodNameResolver, e use-o para determinar o método a ser chamado dentro do seu único Controller de acordo com a URL ou algum parametro.
Já trabalho em alguns casos dessa maneira, e sinceramente não gosto muito.
Quando o projeto começa a crescer, você sente que tem muitos controllers e tarefa repetitiva demais.
Acho que vc nao entendeu o que eu quis dizer...
A solucao que estou colocando é pra somente um controller!
|
---
Gerson K. Motoyama
(SCJA, SCJP, SCWCD, SCBCD, SCEA-I) |
|
|
 |
|
|
|
|