Re:JSF 2 - Transportar objetos entre páginas

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…

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 ?

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…

Alguém ?

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>