Jsf parâmetros...  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
alberto_ribeiro
JavaEvangelist
[Avatar]

Membro desde: 01/07/2005 11:15:19
Mensagens: 351
Localização: SP
Offline

Bom dia a todos, então estou aprendendo a utilizar jsf e queria saber como faço para pegar o valor de um campo no meu formulário, tenho as seguintes coisas:

tenho uma JSP chamada inserir.jsp que chama uma classe com o nome PegaDados:

faces config:


dentro desta classe PegaDados eu queria pegar um valor do campo Nome que está na jsp inserir.jsp

[]'s
Obrigado por hora...

Sun Certified Programmer for Java 1.5
[Email] [MSN]
Ferryman
JavaGuru
[Avatar]

Membro desde: 26/10/2006 16:30:23
Mensagens: 220
Offline

Bom dia,


Primeiramente você precisa registrar o campo que você quer buscar do formulario no faces-config.

ficaria assim


Isso quer dizer que no seu PegaDados você terá uma propriedade "nome" do tipo String que será gerenciada pelo jsf.

Agora, no seu formulário deve ser um componente jsf de entrada de texto.
você pode usar assim


assim, o valor que você digitar no input text é automaticamente aplicado no Bean PegaDados quando o formulário for submetido.

Espero ter ajudado,

Ferryman

Rafael Farias Silva (@rafaferry)

Jsigner - Engenharia reversa automática através do maven. Acesse http://code.google.com/p/jsigner
[Email] [WWW]
alberto_ribeiro
JavaEvangelist
[Avatar]

Membro desde: 01/07/2005 11:15:19
Mensagens: 351
Localização: SP
Offline

então acho que entendi sim, mas por exemplo esse nome eu teria que ter uma propriedade na classe PegaDados chamada de Nome certo ???

mais essa propriedade pertence a classe Agenda... eu quero após clicar no botão de inserir ele instanciar a classe PegaDados e por lá eu pegar este campo nome para então ele chamar meu DAO e persistir.. entendeu ?? aff se não entendeu é pq até eu estou meio confuso... huahauah

Valeu!!!

ou o correto seria dentro da minha classe agenda eu pegar os dados do formulário e passar pra frente ???

Sun Certified Programmer for Java 1.5
[Email] [MSN]
Ferryman
JavaGuru
[Avatar]

Membro desde: 26/10/2006 16:30:23
Mensagens: 220
Offline

então acho que entendi sim, mas por exemplo esse nome eu teria que ter uma propriedade na classe PegaDados chamada de Nome certo ???

É, isso mesmo.

Bom, o seu formulário pode ter ligação com varias propriedades de diversos beans, porem acredito que não é isso que você precisa. A instanciação dos backing beans quem faz é o jsf.

Se eu entendi bem seu problema, o que você pode fazer é ter um BackingBean com as propriedades que você precisa para o DAO, então você pode criar um método que instancia o objeto DAO e neste metodo ele pega as propriedades do bean que ja foram setadas, instancia o DAO e executa os comandos de persistencia.
no seu caso o método é o PegaDados.inserir.

Espero ter ajudado!

falou




Rafael Farias Silva (@rafaferry)

Jsigner - Engenharia reversa automática através do maven. Acesse http://code.google.com/p/jsigner
[Email] [WWW]
alberto_ribeiro
JavaEvangelist
[Avatar]

Membro desde: 01/07/2005 11:15:19
Mensagens: 351
Localização: SP
Offline

então olha só como ficou..hehehe

Minha página que chama um bean para setar os valores dos campos nos atributos...


Meu Bean com os atributos correspondentes a página...


Minha classe que chama o DAO, coloquei com o nome de Facade mais foi apenas ilustração, pensei nessa classe como se fosse um BusinessDelegate..


E finalmente meu DAO que apenas recebe a AgendaDB e manda salvar..

será que está certo a estrutura...??

OBS: não sei se é correto fazer um método como fiz no meu Bean... ele apenas passa pra frente o objeto preenchido, será que isso ta certo ?

[]'s
e obrigado pela ajuda...

Sun Certified Programmer for Java 1.5
[Email] [MSN]
Ferryman
JavaGuru
[Avatar]

Membro desde: 26/10/2006 16:30:23
Mensagens: 220
Offline

Ae agora a estrura do bean ficou legal.

Essa facade seria uma camada entre o objeto DAO e o seu bean? eu não sei até aonde isso é legal, tem um monte de dicussao sobre isso, da uma pesquisada.

Eu uso meus objetos dao com factory mesmo, no seu caso eu colocaria no bean mesmo a instanciação do DAO e mandaria inserir por lá, pois acredito que você colocou uma camada a mais sem necessidade.

Me corrijam se eu estiver errado.

é isso ae rapaz falou.

Rafael Farias Silva (@rafaferry)

Jsigner - Engenharia reversa automática através do maven. Acesse http://code.google.com/p/jsigner
[Email] [WWW]
alberto_ribeiro
JavaEvangelist
[Avatar]

Membro desde: 01/07/2005 11:15:19
Mensagens: 351
Localização: SP
Offline

cara perfeito, muito grato pela sua ajuda... qq coisa só me gritar...

[]'s

e quanto ao facade que coloquei vou pesquisar melhor sim...

Sun Certified Programmer for Java 1.5
[Email] [MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team