Redirecionar pelo ManageBean

2 respostas
D

Opa :smiley:

Tem alguma forma de eu fazer um redirecionamente de URL pelo managed bean?

2 Respostas

thiagocg

Voce pode fazer da seguinte maneira:

Pegar uma instacia do NavigationHandler através do FacesContext e setar o texto de navegação de acordo com a declaração no seu FacesConfig para a pagina q vc quer q seja redirecionado!

[i]exemplo código managedBean[/i]

NavigationHandler navigationHandler = FacesContext.getCurrentInstance().getApplication().getNavigationHandler();
navigationHandler.handleNavigation(FacesContext.getCurrentInstance(), null, "listarUsuario");

[i]exemplo código do facesConfig[/i]

<navigation-rule>
	<from-view-id>*</from-view-id>
	<navigation-case>
		<from-outcome>listarUsuario</from-outcome>
		<to-view-id>/jsp/listaUsuario.jsp</to-view-id>
	</navigation-case>
</navigation-rule>

abraço

D

Eu quero redirecionar para uma servlet. Encontrei a solucao:

public void redirecionarViewRelatorio() throws IOException{
		HttpServletResponse response = (HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
		setPedidoBean((PedidoBean)getHtmlDataTable().getRowData());
		response.sendRedirect("/mr/relatorio");
	}

Nao sei se eh a melhor opcao, mas por enquantofuncionou. Alguem tem alguma outra solucao??

Criado 26 de setembro de 2008
Ultima resposta 26 de set. de 2008
Respostas 2
Participantes 2