Página não renderiza (correção do Bean)

Boa pessoal,
É o seguinte, estou desenvolvendo um sistema em JSF2 e tenho uma pagina que não renderiza por causa do bean. O que estou fazendo de errado, não enxergo?
Os beans e os xhtml:

beans:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.tmd.controlefinanceiro.bean;

import br.com.tmd.controlefinanceiro.modelo.Conta;
import br.com.tmd.controlefinanceiro.modelo.Despesa;
import br.com.tmd.controlefinanceiro.modelo.Pagamento;
import br.com.tmd.controlefinanceiro.persistence.ContaDao;
import br.com.tmd.controlefinanceiro.persistence.DespesaDao;
import br.com.tmd.controlefinanceiro.persistence.PagamentoDao;
import java.util.Calendar;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;


@ManagedBean(name = "pagamentoBean")
@RequestScoped
public class PagamentoBean {
    
    private Pagamento pagamento = new Pagamento();
    private Double valor;
    private Calendar dataPagamento;
  
    @ManagedProperty(value = "#{contaBean}")
    private ContaBean contaBean;
    @ManagedProperty(value = "#{despesaBean}")
    private DespesaBean despesaBean;

    public PagamentoBean() {
    }
    
    public String deduzConta() throws Exception{
        ContaDao contaDao = new ContaDao();
        Conta contaManipulada;
        contaManipulada = contaDao.findByCod(contaBean.getContaId());
        contaManipulada.setSaldo(contaManipulada.getSaldo() - this.valor);
        contaDao.alterar(contaManipulada);
        
        DespesaDao despesaDao = new DespesaDao();
        Despesa despesa;
        despesa = despesaDao.findByCod(despesaBean.getDespesaId());
        
        PagamentoDao pagamentoDao = new PagamentoDao();
        Pagamento pago = null;
        pago.setDataPagamento(dataPagamento);
        pago.setValorPago(valor);
        pago.setDespesa(despesa);
        pagamentoDao.salvar(pago);
       
        return "lancadespesa?faces-redirect=true";
    }
    
    public String depositaValor() throws Exception{
        ContaDao contaDao = new ContaDao();
        Conta contaManipulada;
        contaManipulada = contaDao.findByCod(contaBean.getContaId());
        contaManipulada.setSaldo(contaManipulada.getSaldo() + this.valor);
              
        contaDao.alterar(contaManipulada);
        
        return "lancadespesa?faces-redirect=true";
    }
 
    public Pagamento getPagamento() {
        return pagamento;
    }

    public void setPagamento(Pagamento pagamento) {
        this.pagamento = pagamento;
    }
     
 
    public Double getValor() {
        return valor;
    }

    public void setValor(Double valor) {
        this.valor = valor;
    }

    public Calendar getDataPagamento() {
        return dataPagamento;
    }

    public void setDataPagamento(Calendar dataPagamento) {
        this.dataPagamento = dataPagamento;
    }
    
   
    public ContaBean getContaBean() {
        return contaBean;
    }

    public void setContaBean(ContaBean contaBean) {
        this.contaBean = contaBean;
    }
    
    public String novo() {

           return "cliente?faces-redirect=true";
    }
    
}
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.tmd.controlefinanceiro.bean;

import br.com.tmd.controlefinanceiro.modelo.Conta;
import br.com.tmd.controlefinanceiro.persistence.ContaDao;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;


@ManagedBean(name = "contaBean")
@RequestScoped
public class ContaBean {
    
    private Conta conta = new Conta();
    private List<Conta> listaContas;
    
    private Integer contaId;
    
    public ContaBean() { 
    }
    
    public Integer getContaId() {
        return contaId;
    }

    public void setContaId(Integer contaId) {
        this.contaId = contaId;
    }    

    public Conta getConta() {
        return conta;
    }

    public void setConta(Conta conta) {
        this.conta = conta;
    }

    public List<Conta> getListaContas() throws Exception {
        ContaDao dao = new ContaDao();
        listaContas = dao.listaContas();
        return listaContas;        
    }

    public void setListaContas(List<Conta> listaContas) {
        this.listaContas = listaContas;
    }
    
    public String novo() {
        this.conta = new Conta();
        return "contas?faces-redirect=true";
    }
     
     public String novo1() {
        return "transferencias?faces-redirect=true";}
    
    
    public String salvar(){
        
        FacesContext context = FacesContext.getCurrentInstance();
        ContaDao dao = new ContaDao();
        dao.salvar(conta);
        
        FacesMessage facesMessage = new FacesMessage("Conta criada com sucesso");
        context.addMessage(null, facesMessage);
        this.conta = new Conta();
        
        //return "contas?faces-redirect=true";
        return null;
    }
    
    public String formPrincipal() {
        return "principal?faces-redirect=true";
    }
    
    public String consultaContas() {
        return "consultaContas?faces-redirect=true";
    }
      
    
}
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.tmd.controlefinanceiro.bean;

import br.com.tmd.controlefinanceiro.modelo.Despesa;
import br.com.tmd.controlefinanceiro.persistence.DespesaDao;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;


@ManagedBean(name = "despesaBean")
@RequestScoped
public class DespesaBean {
    
    private Despesa despesa = new Despesa();
     private List<Despesa> listaDespesa;
    
    //Foi criado essa variavel para ao selecionarmos uma despesa armazena o id dela para
    //gravarmos no banco posteriormente.
    private Integer despesaId;
  
    public DespesaBean() {
    }

    public Integer getDespesaId() {
        return despesaId;
    }

    public void setDespesaId(Integer despesaId) {
        this.despesaId = despesaId;
    }
    
    public Despesa getDespesa() {
        return despesa;
    }

    public void setDespesa(Despesa despesa) {
        this.despesa = despesa;
    }
    //Utilizado para carregar o combo box tambem
    public List<Despesa> getListaDespesa() {
        DespesaDao dao = new DespesaDao();
        listaDespesa = dao.listaDespesas();
        return listaDespesa;
    }

    public void setListaDespesa(List<Despesa> listaDespesa) {
        this.listaDespesa = listaDespesa;
    }
    
    public String salvar(){
        
        FacesContext context = FacesContext.getCurrentInstance();
        DespesaDao dao = new DespesaDao();
        dao.salvar(despesa);
        
        FacesMessage facesMessage = new FacesMessage("Despesa criada com sucesso");
        context.addMessage(null, facesMessage);
        this.despesa = new Despesa();
        
        //return "contas?faces-redirect=true";
        return null;
    }
    
    public String formPrincipal() {
        return "principal?faces-redirect=true";
    }
    
    public String consultaDespesas() {
        return "consultaDespesas?faces-redirect=true";
    }
    
    public String novo() {
       
        return "despesas?faces-redirect=true";
    }
    
}
<?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:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/templates/_template.xhtml">

        <ui:define name="titulo">

            <h3>Lançamento de Despesas</h3>

        </ui:define>
        <ui:define name="conteudo">
            <p:growl autoUpdate="true" />
            <h:form>

                <p:messages id="messages" autoUpdate="true" />
                <p:fieldset legend="Dados da Operação - Despesa" styleClass="fieldsetSms">
                    <h:panelGrid columns="2">

                        <h:outputLabel value="Despesa:" for="despesa" styleClass="rotulos" />
                        <h:selectOneMenu id="despesa" value="#{despesaBean.despesaId}">
                            <f:selectItem itemLabel="Selecione a despesa" />
                            <f:selectItems value="#{despesaBean.listaDespesa}" var="despesa" 
                                           itemLabel="#{despesa.descricao}" itemValue="#{despesa.id}"/>  
                        </h:selectOneMenu>
                        <h:outputLabel value="Conta:" for="conta" styleClass="rotulos" />
                        <h:selectOneMenu id="conta" value="#{contaBean.contaId}">
                            <f:selectItem itemLabel="Selecione a conta" />
                            <f:selectItems value="#{contaBean.listaContas}" var="conta" 
                                           itemLabel="#{conta.descricao}" itemValue="#{conta.id}"/>  
                        </h:selectOneMenu>
                        <h:outputLabel value="Valor:" for="valor" styleClass="rotulos"/>
                        <p:inputText id="valor" value="#{pagamentoBean.valor}"  required="true"
                                     requiredMessage="Campo valor obrigatorio" >
                            <f:ajax event="blur" render="messages" />
                        </p:inputText>
                        
                        <h:outputLabel value="Data: "  for="dtpg" styleClass="rotulos"/>
                        <p:calendar id="dtpg"
                                    value="#{pagamentoBean.dataPagamento}"
                                    pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"
                                    required="true" 
                                    requiredMessage="Data obrigatória" > 
                            <f:ajax event="blur" render="messages" />
                        </p:calendar>
                    </h:panelGrid>
                </p:fieldset>
            </h:form>
        </ui:define>

    </ui:composition>   

</html>