Mas consegue redirecionar para outra página? Já tentou colocar o escopo do seu managedBean para sessão, só para testar?
abcs
[quote="davi.costa"]Mas consegue redirecionar para outra página? Já tentou colocar o escopo do seu managedBean para sessão, só para testar?
abcs
Meu bean já está em sessão. Não estou conseguindo é mudar de uma pag para outra
[quote="davi.costa"]Qual versão do jsf?
abcs
JSF 2.1.
Implementei assim uma vez, para o mesmo cenário que o seu, e funcionou para mim. Poderia postar sua página? Só para ver como está.
E dá algum tipo de exceção quando você tenta mudar a página? Reparei que ali, onde você coloca o nome da sua, está sem a extensão, tipo: minhaPagina.jsf / minhaPagina.xhtml, etc. Também deve-se por a extensão da página.
Outra coisa, já que está usando jsf, está usando o faces para acessar as páginas? Tipo: /faces/pagina.jsf . . . acho que isso também pode fazer alguma diferença.
Verificou se o endereço que está tentando redirecionar é valido ??
pode postar também o seu web.xml
[quote="MandicaBrito"]Implementei assim uma vez, para o mesmo cenário que o seu, e funcionou para mim. Poderia postar sua página? Só para ver como está.
E dá algum tipo de exceção quando você tenta mudar a página? Reparei que ali, onde você coloca o nome da sua, está sem a extensão, tipo: minhaPagina.jsf / minhaPagina.xhtml, etc. Também deve-se por a extensão da página.
Outra coisa, já que está usando jsf, está usando o faces para acessar as páginas? Tipo: /faces/pagina.jsf . . . acho que isso também pode fazer alguma diferença.
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<p:panelGrid columns="2">
<h:form>
<h:outputText value="id"/>
<h:inputText value="#{daoCliente.seleciona.id}"/>
<h:outputText value="cliente"/>
<h:inputText value="#{daoCliente.seleciona.nome}"/>
<h:outputText value="lista"/>
<p:dataList value="#{daoCliente.list()}" var="opicoes">
Id:#{opicoes.id} Nome:#{opicoes.nome} Idade:#{opicoes.idade} <h:commandLink actionListener="#{daoCliente.update}" value="Editar" />
</p:dataList>
<br />
<h:commandLink actionListener="#{daoCliente.save()}" value="Salvar" />
<br />
<h:commandLink actionListener="#{daoCliente.exibirLista()}" value="Listar" />
<br />
</h:form>
</p:panelGrid>
Hello from Facelets
</h:body>
</html>
Controller
package Dao;
import Model.Cliente;
import Util.HibernateUtil;
import java.io.IOException;
import java.io.Serializable;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import org.hibernate.Session;
import org.hibernate.Transaction;
/**
*
* @author LAENDER
*/
@ManagedBean(name = "daoCliente")
@SessionScoped
public class DaoCliente implements Serializable{
public Cliente recursos;
Session s = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction t;
public Cliente getSeleciona(){
if(recursos == null){
recursos = new Cliente();
// item = - 1;
}
return recursos;
}
public String save(){
Session s = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction t = s.beginTransaction();
s.save(recursos);
t.commit();
s.close();
return "Create";
}
public String update(){
Session s = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction t = s.beginTransaction();
s.update(recursos);
t.commit();
s.close();
return "editar.xhtml";
}
public Cliente getCliente(int id){
Session s = HibernateUtil.getSessionFactory().getCurrentSession();
return (Cliente) s.load(Cliente.class, id);
}
public void remove(Cliente cliente){
Session s = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction t = s.beginTransaction();
s.delete(cliente);
t.commit();
s.close();
}
public List<Cliente> list() {
Session s = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction t = s.beginTransaction();
List lista = s.createQuery("from Cliente").list();
t.commit();
return lista;
}
public String exibirLista(){
List<Cliente> list = list();
String listando= "";
for(Cliente c : list){
listando += c.getId()+c.getNome()+c.getIdade();
}
return listando;
}
public String PreparaEdicao(){
try {
FacesContext.getCurrentInstance().getExternalContext().redirect("editar.xhtml");
} catch (IOException ex) {
Logger.getLogger(DaoCliente.class.getName()).log(Level.SEVERE, null, ex);
}
return "editar.xhtml";
}
}