Bom dia Pessoal
Preciso saber a seguinte informação!
Eu tenho um usuário na sessão… que é o meu usuário!!!
E esse usuário quando vai fazer uma operação: digamos que cadastrar uma empresa
Eu preciso que nesse momento que ele clique em cadastrar empresa…
seja carregado os campos e o valor do e-mail desse usuário preencha 1 ou + campos!
o usuário da sessão.!
se alguém souber como fazer isso e puder me dar uma mão… agradeço…!!
Valeu ai
fera, ficou meio estranha sua pergunta… pelo que entendi vc quer pegar valores do managed bean usuario e usar esses valores no managed bean de empresa, é isso ?
para fazer isso:
FacesContext context = FacesContext.getCurrentInstance();
UsuarioMB usuarioMB = (UsuarioMB) context.getELContext().getELResolver().getValue(context.getELContext(),
null, "usuarioMB");
assim vc pode utilizar toda a interface publica de usuarioMB
qq coisa postae
abrassss
Eu costumo fazer colocando o managedBean que vou acessar como propriedade do outro. acho que fica mais organizado.
Um exemplo de como ficaria o faces-config.xml
Neste caso os managedBean IndexManagedBean e ExibeManagedBean seta e pega valor do campo pessoa do managedBean PessoaManagedBean.
<?xml version='1.0' encoding='UTF-8'?>
<!-- =========== FULL CONFIGURATION FILE ================================== -->
<faces-config version="1.2"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
<managed-bean>
<managed-bean-name>IndexManagedBean</managed-bean-name>
<managed-bean-class>managedbean.IndexManagedBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>pessoa</property-name>
<value>#{PessoaManagedBean.pessoa}</value>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>ExibeManagedBean</managed-bean-name>
<managed-bean-class>managedbean.ExibeManagedBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>pessoa</property-name>
<value>#{PessoaManagedBean.pessoa}</value>
</managed-property>x
</managed-bean>
<managed-bean>
<managed-bean-name>PessoaManagedBean</managed-bean-name>
<managed-bean-class>managedbean.PessoaManagedBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<navigation-rule>
<navigation-case>
<from-action>#{ExibeManagedBean.DoExibePage}</from-action>
<from-outcome>sucesso</from-outcome>
<to-view-id>/exibe.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
Nos managedBeans IndexManagedBean e ExibeManagedBean só tenho que declarar o campo e fazer os get e set
private Pessoa pessoa;
//get e sets
Se quiser te mando o código fonte deste cara que fiz para explica isso para um amigo meu neste fds ta bem simples e no netbeans 6.7.
Abraço,
Marcelo Gomes
O que eu queria mesmo é assim:
Eu tenho um usuário na sessão…
Dai tem 1 + campos que tem que ser preenchido com um usuário qualquer que tem no banco ou ele mesmo
mas já queria que viesse carregado como padrão o e-mail dele!
E dai assim ficaria um os 3 input aparecendo o email dele
e dai se ele quisesse podia alterar os e-mails para e-mails de outros usuarios…
mas que dai ele preenche o e-mail e valida se esse usuario é existente tem… Mas queria saber como que posso ja trazer preenchido esses campos com o e-mail do proprio usuario
Da forma que te postei vc faz isso!!!
Pessoal,
Apenas para não dar dor de cabeça para quem for usar este exemplo, na linha 25 do faces-confi.xml acabei digitando um “x” sem querer…
x
o correto é
Abraço,
Marcelo Gomes
Problema resolvido com tutorial do marcelo!
Valeu cara