Criei um formulário usando os componentes do JSF, e os message, que informam ao usuário se o campo foi preenchido corretamente, ou seja, tenho um message para cada inputText por exemplo. Até aí tudo bem…
Eu gostaria de ter um outro message que irá informar se o formulário foi ou não submetido com sucesso, tentei usar o componentes messages mas ele abrange todo tipo de validação na tela, ou seja. além dos message para cada componente, ainda aparece a lista do messages.
Gostaria de ter um único message específico somente para informar se o form foi submetido ou não!
Pô me expressei mal. Vou mostrar o que realmente quero fazer:
//TelaFormularioMB.javapublicclassTelaFormularioMB{privateHtmlInputTextnome;privateHtmlInputTextemail;publicTelaPreencherFormularioMB(){setNome(newHtmlInputText());setEmail(newHtmlInputText());}publicvoidsubmitAction(ActionEventevt){Usuariousuario=newUsuario();usuario.setNome((String)getNome().getValue());usuario.setEmail((String)getEmail().getValue());UsuarioDAOdao=newUsuarioDAO();if(dao.insert(usuario))FacesContext.getCurrentInstance().addMessage(null,newFacesMessage(FacesMessage.SEVERITY_INFO,"Sucesso na Operação",null));elseFacesContext.getCurrentInstance().addMessage(null,newFacesMessage(FacesMessage.SEVERITY_ERROR,"Erro na Operação",null));}}
Então, como mostrei acima, e consigo validar individualmente cada campo, com o componente message para cada um, mas no momento do submit, meu action retorna um message pra nada. Eu ainda tentei usar o componente messages mas ele é muito genérico então pega também os outros campos.
Consegui passar bem meu problema? Existe alguma forma de fazer isso?
L
lgweb
cara vamos ver se vc passou bem seu problema rssrsrs,o que eu entendi é que vc quer retornar uma mensagen de um metodo, e quer um messages para exibir somente as memsagens retornadas pelos metodos de controle,± isso né, se for isso use o h:messages assim:
felipeguerra, eu fazendo desse jeito, só consigo pegar a msg atribuida a um determinado componente na tela, o que eu quero é pegar uma msg do meu método de controle como o lgweb falou. De qualquer maneira muito obrigado pela ajuda.
lgweb, era exatamente isso, só tava faltando o atributo globalOnly, agora tá redondo…
Aproveitando o ensejo, alguém aí já teve que atribuir mais de um valor ao mesmo objeto na página?
Tipo assim: Tenho que concatenar valores num hidden para pegar através do JavaScript, vejam…
Mas aí eu tenho o problema a seguir:
01/04/2008 15:21:20 javax.faces.component.UIInput updateModel
SEVERE: /faces/consultacarona.jspx @43,215 value="#{carona.caronistas[0].idPessoa},#{carona.caronistas[0].nome}": Illegal Syntax for Set Operation
01/04/2008 15:21:20 javax.faces.component.UIInput updateModel
SEVERE: /faces/consultacarona.jspx @43,215 value="#{carona.caronistas[0].idPessoa},#{carona.caronistas[0].nome}": Illegal Syntax for Set Operation
01/04/2008 15:21:20 com.sun.faces.lifecycle.RenderResponsePhase execute
Muito estranho…
F
felipempantoja
cara funcionou certinho…
será que não tem a ver com o array que vc criou?
tenta passar valores simples, strings…
F
felipeguerra
Não é isso, o JSF deve estar se perdendo na hora de setar o valor no atributo, pois eu coloco mais de um value…
G
gRoOve
felipempantoja:
felipeguerra, eu fazendo desse jeito, só consigo pegar a msg atribuida a um determinado componente na tela, o que eu quero é pegar uma msg do meu método de controle como o lgweb falou. De qualquer maneira muito obrigado pela ajuda.
lgweb, era exatamente isso, só tava faltando o atributo globalOnly, agora tá redondo…
Amigo, consegue me explicar o que você está fazendo dentro deste facet?
Outra coisa, gostaria de limpar os campos que utilizei pra inserir os dados após a mensagem de confirmação de envio do form ser apresentada, tem como?