GARANTIR DESCONTO

Fórum Criando um link para uma outra pagina com JSF #567718

14/10/2012

0

Boa noite, Preciso de uma dica para fazer a paginação de um sistema que estou criando, só para especificar é um sistema para uma academia onde o mesmo desenvolve uma avaliação física. Pois bem, estou utilizando um commandlink, qual o atributo devo utilizar para direcionar meu link para uma outra pagina.
Laender Alves

Laender Alves

Responder

Posts

15/10/2012

Efraim Filho

No caso próxima pagina mantendo os dados da anterior não é ? , esta usando apenas JSF ?? ou esta utilizando (PRIME ou RICH)Faces também ?
Responder

Gostei + 0

15/10/2012

Davi Costa

Qual o problema? Não está conseguindo mudar de página? abcs
Responder

Gostei + 0

15/10/2012

Amanda Brito

Você está tentando direcionar uma página para outra? Pode usar o commandLink mesmo, contendo o caminho Pode criar um método na sua classe para redirecionar, algo assim:
FacesContext.getCurrentInstance().getExternalContext()
					.redirect("suaPagina");
E ai, chama esse método na sua tela. No seu bean, você pode adicionar a notação @SessionScope, que vai te ajudar a manter os dados entre as páginas, enquanto você estiver trabalhando nelas. Creio que assim funcione ;)
Responder

Gostei + 0

15/10/2012

Amanda Brito

[quote="MandicaBrito"]Você está tentando direcionar uma página para outra? Pode usar o commandLink mesmo, contendo o caminho Pode criar um método na sua classe para redirecionar, algo assim:
FacesContext.getCurrentInstance().getExternalContext()
					.redirect("suaPagina");
E ai, chama esse método na sua tela. No seu bean, você pode adicionar a notação @SessionScope, que vai te ajudar a manter os dados entre as páginas, enquanto você estiver trabalhando nelas. Creio que assim funcione ;)
Amanda tentei implementar essa cod que você passou mas ainda sim não deu. Veja:
  public void preparaEdicao(String editar){
        try {
            FacesContext.getCurrentInstance().getExternalContext().redirect("editar");
        } catch (IOException ex) {
            Logger.getLogger(DaoCliente.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
Responder

Gostei + 0

15/10/2012

Amanda Brito

[quote="efraimgentil"]No caso próxima pagina mantendo os dados da anterior não é ? , esta usando apenas JSF ?? ou esta utilizando (PRIME ou RICH)Faces também ?
efraimgentil estou usando JSF junto com PRIME, irei precisa enviar os dados da pagina anterior, no caso uma pagina onde listo as pessoas e os dados correspondentes as mesmas, para uma pagina onde eu irei editar a pessoa e os seus dados. Ex: Laender >Editar. Juca > Editar Pedro > Editar Envio para a pag de edição os dados da pessoa já dispostos para serem editados.
Responder

Gostei + 0

15/10/2012

Davi Costa

Mas consegue redirecionar para outra página? Já tentou colocar o escopo do seu managedBean para sessão, só para testar? abcs
Responder

Gostei + 0

15/10/2012

Davi Costa

[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
Responder

Gostei + 0

15/10/2012

Davi Costa

Qual versão do jsf? abcs
Responder

Gostei + 0

15/10/2012

Davi Costa

[quote="davi.costa"]Qual versão do jsf? abcs
JSF 2.1.
Responder

Gostei + 0

16/10/2012

Amanda Brito

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.
Responder

Gostei + 0

16/10/2012

Efraim Filho

Verificou se o endereço que está tentando redirecionar é valido ?? pode postar também o seu web.xml
Responder

Gostei + 0

16/10/2012

Efraim Filho

[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";

    }
   
    
}
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar