Como passar parametro para um bean jsf

7 respostas
N

bom dia estou com uma grande dúvida…
tenho uma página jsp que chamará uma xhtml que está com jsf

<a href="painel/detalhesocorrencia.jsf?produto=477"></a>

minha página detalhesocorrencia.jsf deverá antes de mostrar os resultados executar um metodo do managerbean
mas como poderia passar o produto para o bean antes de vizualizar a página detalhesocorrencia.jsf ?

obrigado

7 Respostas

Rodrigo_Sasaki

não pode criar um servlet? ou usar um que ja esteja criado (contanto que faça sentido)

fabiomedeirosf

Há várias maneiras de se passar um parâmetro. Na minha modesta visão, esta que vc propoe pela URL é a menos indicada para o JSF.

Uma maneira eficiente e prática é usando-se o:

<f:setPropertyActionListener target="#{meuMB.objetoSelecionado}" value="#{objetoIteracao}"/>

no atributo target vc informa o objeto do seu MB, e o value, o valor a ser atribuido ao objeto.

Outra maneira, é o uso do:

<f:param />

Você informa o value, que é o próprio valor que deseja passar, não se esqueça de preencher o name e o id para que se possa acessar do seu MB.

Espero ter ajudado.

N

obrigado pelas respostas.
bem, o que ocorre é que eu tenho um projeto jácriado com jsp servlets mas estou migrando para xhtml aos poucos,
só que preciso chamar da página pagina.jsp a páginafaces.xhtml do jsf, mão tenho que fazer uma consulta ao banco antes de exibir a página páginafaces.xhtml,
mas quando a página é exibida não da certo pq meus bean estão zerados. Como poderia parra para um metodo do bean um id de prouto, por exemplo, antes de a página ser exibida, para que exiba com meus objetos carregados?
obrigado

fabiomedeirosf

Entendi, neste caso então tem que usar o parâmetro na URL pelo que vi.

Você pode fazer isso no construtor do seu Mb. Obtenha o id, faça as buscas devidas e pronto!

ldias_santos

Voce pode pegar esse parametro no seu construtor ou em um metodo anotado com @PostConstruct. ai dentro dele voce pega esse parametro e faz um find.

Espero ter ajudado.

N

Eu até entendi, sou não sei como poderia capturar isso no construtor, mas obrigado

alexfe
Criado 9 de novembro de 2011
Ultima resposta 23 de nov. de 2015
Respostas 7
Participantes 5