Redirecionamento jsf

Pessoal,

eu criei no jsf 2 um template usando facelets, e em cada view que eu crio…coloca assim:

<ui:composition template="_template.xhtml"> <ui:define name="corpo"> //aqui vai meu conteudo jsf com primefaces </ui:define> </ui:composition>

ate ai tudo bem. Agora eu criei uma tela login usando o template, que ao validar o usuário deveria passar para outra tela.

Mas no meu MB, que ta assim:

public String efetuaLogin() { InitialContext contexto = new InitialContext(); UsuarioFacade usuario = (UsuarioFacade) contexto.lookup("UsuarioBean/remote"); if(usuario.existe(usuarioVo)) { return "principal?faces-redirect=true"; //return "principal"; } else { return "login"; } }

Repara que estou precisando fazer o redirect para ele ir para outra tela. Se usar o redirect, o jsf atualiza minha tela corretamente.

Se eu apenas dizer qual pagina eu quero ir (igual o que está comentado), o jsf não faz nada.

Eu tentei colocar na minha tela de login, o atributo update para atualizar o formulário, mas não resolveu nada.

eu queria arrumar uma forma de todas as telas, a partir do login, atualizar somente a parte do “corpo”, não precisando fazer refresh em toda a pagina. Já que vai ser igual pra todas elas.

Não seria essa a função do template? :?:

valew

O template é um carimbo, com ele você deixa de precisar repetir código nas suas páginas para partes como banner, rodapé e por exemplo um menu.

leonardo,

até ai, eu tinha entendido e fiz isso no código.

Mas teria como usando ajax, mudar apenas o layout central (corpo) para não submitar sempre toda a tela?

essa que é a duvida