Estou desenvolvendo um sistema Web utilizando JSF, onde o usuário cadastra seus dados e logo após é enviado um email com um link para ativar a conta.
Até essa parte tá tudo certo.
Minha dúvida é, quando o usuário clicar no link (no seu email) eu devo direcionar esse link para onde ??
Diretamente para o Managed Bean responsável ???
Ou para uma página e consequentemente essa página reencaminha para o MB ???
Estou desenvolvendo um sistema Web utilizando JSF, onde o usuário cadastra seus dados e logo após é enviado um email com um link para ativar a conta.
Até essa parte tá tudo certo.
Minha dúvida é, quando o usuário clicar no link (no seu email) eu devo direcionar esse link para onde ??
Diretamente para o Managed Bean responsável ???
Ou para uma página e consequentemente essa página reencaminha para o MB ???
vc deve criar um link com um id na sessão para identificar esse usuário…enviando direto para o MB…
Assim o MB vai buscar esse usuário e fazer o q tem que fazer…
Senão como vc irá identificar cada usuário?!?
ricardo13
Blz !!
Eu fiz isso. Criei uma URL com ID do usuário, mas minha dúvida é, como eu chamo diretamente o MB.
Por exemplo, se eu tiver um MB chamado AtivaUsuarioMB como minha URL tem que estar para chamar esse cara.
Eu fiz isso. Criei uma URL com ID do usuário, mas minha dúvida é, como eu chamo diretamente o MB.
Por exemplo, se eu tiver um MB chamado AtivaUsuarioMB como minha URL tem que estar para chamar esse cara.
Você tem um arquivo XML onde você configura a url com os bindings necessários.
<url-mapping id="verNoticia">
<pattern>/ativar/#{myBean.usuario.id}/</pattern>
<view-id>/ativar.xhtml</view-id>
<action>#{myBean.ativar}</action>
</url-mapping>
Você diz o padrão de url que irá usar tipo ali ficaria algo como : http://localhost/app/ativar/12345465478678/ quando a pessoa clicar nesse link vai ser chamado o action ativar do managedbean myBean já com usuario.id setado com o valor da url, simples assim.
ricardo13
olá,
Valeu pela dica, mas e se eu não usar pretty faces ??
Usar JSF sem pretty faces, ou prime faces, ou rich faces.
Como eu acesso o MB.
Tem que configurar no faces-config.xml ??
ricardo13
Tem alguma configuração para usar Pretty Faces com Rich Faces ??
Fui subir a aplicação e deu problema.
Configurei o web.xml e o pretty-config.xml.
dreampeppers99
ricardo13:
Tem alguma configuração para usar Pretty Faces com Rich Faces ??
Fui subir a aplicação e deu problema.
Configurei o web.xml e o pretty-config.xml.
Qual erro deu?
ricardo13
Can’t parse configuration file: jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Apache%20Tomcat%206.0.26/webapps/concurso/WEB-INF/lib/ocpsoft-pretty-faces-2.0.3.jar!/META-INF/faces-config.xml: Error at line 7 column 16: cvc-elt.1: Cannot find the declaration of element ‘faces-config’.
O problema era que eu estava usando versão do Pretty Faces recente para a versão 1.2 do JSF.
Agora vou testar a aplicação para ver se funciona eu chamar o MB.
ricardo13
olá,
Ainda não tô conseguindo acessar meu MB diretamente.
Eu to tentando acessar meu MB através da seguinte URL: http://localhost:8080/sistema/ativar/123, onde 123 é o ID do meu usuário.
O que eu to fazendo de errado para não acessar meu MB ?
dreampeppers99
ricardo13:
olá,
Ainda não tô conseguindo acessar meu MB diretamente.
Eu to tentando acessar meu MB através da seguinte URL: http://localhost:8080/sistema/ativar/123, onde 123 é o ID do meu usuário.
O que eu to fazendo de errado para não acessar meu MB ?
Esse mb UsuarioMB existe lá em faces-config ou ele é do applicationContext? Se existe no faces-config e for possível poste a tag que cria ele aqui.
ricardo13
Eu crio este MB com a annotation @Component(usuarioMB)
dreampeppers99
Então você está usando o spring pra isso… eu acho que o PrettyFaces não consegue pegar o managebean desse contexto, você vai ter que declar-lo no faces-config. Experimente declarar esse bean no faces-config e diga o que acontece.
ricardo13
No pretty-config.xml eu coloco o nome da Classe ou o nome da variável que o Spring cria.
Por exemplo, UsuarioMB ou usuarioMB ??