Re:JSF 2 - Transportar objetos entre páginas

4 respostas
D

Esse User é seu managedbean?

se for, cria um validator para o input text, com a logica que você deseja…

(conectar no banco e verificar o usuário, pegar de um txt, etc…)

quando ele passar nesse validator do login, o seu managedbean (user) estará com o valor atualizado…

4 Respostas

D

Pessoal,

Estou com dúvida em como transportar objetos de uma página à outra.
Exemplo:
Informar o login na página principal. Na página de acesso permitido (login passou), eu quero mostrar o login que entrou… Pra facilitar mais o entendimento, eu quero colocar no topo da página: Seja bem vindo Fulano de Tal.

Pela minha lógica, isso era pra funcionar

// Página de login - login.xhtml
  Usuário: <h:inputText value="#{User.codUsu}" />

  // Página de boas vindas - main.xhtml
  Seja bem vindo <h:outputText value="#{User.codUsu}" />

Alguém sabe como isso pode ser implementado ?

D

Valeu pelo interesse em ajudar…

O que eu quero é entender a lógica na prática.

Porque eu precisaria de uma outra classe para setar o valor de uma variável do ManagedBeans para que assim uma outra página consiga receber este valor ?

Não que eu não queira fazer dentro dos padrões MVC…

Quero apenas entender como transportar valores de variáveis de ManagedBeans no JSF 2 da forma mais simples possível…

D

Alguém ?

D

Pessoal, resolvi.

O problema é que no método de validação de login eu estava fazendo um redirect para outra página e, pelo que entendi, a próxima página perde o “acesso” às propriedades do bean utilizado e setado pela anterior…

Fiz assim:

public String validaUsuario() {
   // validação
   if(validaLogin())
      return "logou";
  return "naoLogou";
}

e no faces-config.xml, eu fiz:

<navigation-rule>
        <from-view-id>/*</from-view-id>
        <navigation-case>
            <from-outcome>naoLogou</from-outcome>
            <to-view-id>/login.xhtml</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>logou</from-outcome>
            <to-view-id>/admin/main.xhtml</to-view-id>
        </navigation-case>
    </navigation-rule>
Criado 21 de maio de 2010
Ultima resposta 24 de mai. de 2010
Respostas 4
Participantes 2