Autor |
Mensagem |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 17/03/2008 16:54:37
|
Nunes
Equipe
Membro desde: 30/06/2007 14:28:09
Mensagens: 19
Offline
|
Olá senhores, tudo bem.
Gostaria de tirar uma dúvida relacionado a validação e controllers.
A primeira é a seguinte: Eu gostaria de validar meus forms no servidor e quando desse um erro eu adicionaria essas mensagens em um objeto.
A idéia é igual a do Struts 1.x que tem o objeto ActionErros e ActionMenssage. Feito isso como eu mostro isso no meu jsp ? E caso ocorra um erro os dados preenchidos são recarregados na tela automaticamente ?
A segunda dúvida é relacionada aos Controllers. Como o Neo roda em cima do Spring MVC, eu por acaso poderia utilizar os controllers do Spring, ou o Neo tem seus próprios controlers ?
Abraços e obrigado.
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 22/03/2008 18:44:32
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
1° A validação do neo é feita através de annotations, ou no controller você sobrescreve o método validate. Caso necessite. No caso de um crud controller você deverá sobrescrever o método validateBean (Para a entrada de dados) e o validateFilter (Para a listagem dos dados.). Quando utilizar um controller comum do neo, o muliActionController, que é sobrescrito do spring mvc você deverá anotatar os métodos com a annotation @OnErrors, para que o NEO formate automaticamente as mensagens. Na documentação tem isso explicado. Caso esteja incompleta favor dar um toque que completo ela pra ti.
2° Está meio que implícito no primeiro comentário. Os controllers do spring funcionam normalmente, mas é altamente recomendável que utilize a que o neo lhe fornece, pois possui algumas customizações.
Obrigado.
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 25/03/2008 14:17:54
|
Nunes
Equipe
Membro desde: 30/06/2007 14:28:09
Mensagens: 19
Offline
|
E ai Pedro, beleza ?
Deixa eu te fazer mais uma pergunta!
Pelo pouco que eu sei o Spring possui diversos Controllers. Certo ?
Por acaso esses controllers são todos customizados no NEO ?
Sobre a validação, pelo menos no exemplo, quando você coloca as annotations ele faz a mesma via javascript. Porem o que eu quero seria igual ao Struts 1.x, que se tem o objeto ActionErros.
Abraços
Mauricio Nunes
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 25/03/2008 16:36:01
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
O neo apenas customizou o MultiActionController. E o spring possui vários controllers sim.
Ok..
Você diz montar um filtro para montar a validação?
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 25/03/2008 16:40:32
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Maurício, o neo tem isso sim.
Ex:
Struts:
Code:
ActionErrors errors = new ActionErrors();
try {
// seu codigo
} catch ( Exception e ) {
errors.add( "IOException", new ActionError( "erro.publicacao.importacao" ) );
saveErrors( request, errors );
return mapping.findForward( "error" );
}
Neo:
Code:
public ModelAndView metodo(WebRequestContext request, Bean bean){
try {
// seu codigo
} catch ( Exception e ) {
request.addMessage("lalala", MessageType.ERROR);
//request.addMessage("lalala", MessageType.DEBUG);
//etc...
}
}
no jsp:
<n:messages/>
é isso?
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 25/03/2008 17:07:57
|
Nunes
Equipe
Membro desde: 30/06/2007 14:28:09
Mensagens: 19
Offline
|
pedro.goncalves wrote:
O neo apenas customizou o MultiActionController. E o spring possui vários controllers sim.
Ok..
Você diz montar um filtro para montar a validação?
É isso ai !!! Antes de ele chamar a minha action, ele valida os campos via server side. Caso ocorra um erro ele adiciona todos as mensagens no objeto request.addMessage() e retorna para a página desejada.
Outra coisa nessa tag <n:messages/> quais atributos é permitido nela ?
O que eu quero fazer é o seguinte:
Quando der um erro de validação ele mostra um fundo vermelho com uma imagem de (X) do lado:
Quando for uma mensagem de confirmação, ele mostra o fundo verde com uma imagem de OK.
E se for uma mensagem de alerta ele mostra o fundo amarelo com uma imagem.
PS- Desculpa te encher o saco, mas estou querendo usar o neo no meu projeto particular.
Abraços
|
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 25/03/2008 17:48:28
|
pedro.goncalves
Equipe
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline
|
Ele já faz isso automaticamente...
Code:
#messageBlock {
border: 2px solid #dadada;
background-color: #F8F8F8;
text-align: left;
}
#messageBlock .info, #messageBlock .error {
font-family: helvetica;
font-size: 13px;
font-weight: bold;
padding-bottom: 4px;
}
#messageBlock .error,#messageBlock .globalerror {
list-style-image: url("../imagens/sys/bullet_red.png");
color: #FF3333;
}
#messageBlock .messagetitle{
color: #FF3333;
font-weight: bold;
}
#messageBlock .info {
list-style-image: url("../imagens/sys/bullet_green.png");
color: #4CB46B;
}
#messageBlock .trace,#messageBlock .causeitem {
list-style-image: url("../imagens/sys/bullet_orange.png");
color: #CF9A1C;
}
Tem algumas regras predefinidas...
olha o ex: Ai:
|
Pedro Gonçalves
http://pedrogoncalves.com.br
 |
|
 |
|