GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Problemas ao carregar lista na página XHTML

Tags: #<Tag:0x00007f0baa461240> #<Tag:0x00007f0baa461038>

Boa tarde;

No código abaixo, eu tenho 5 classes modelo (uma delas usa os atributos da outra), um DAO que me retorna um list, um bean que serve como controller e a página xhtml que exibe os dados, meu problema é a página xhtml nem abre, dá um null pointer sem apontar a linha.
Edit1: Se eu tirar a lista carregada do construtor do bean, ele funciona o resto do software, por isso eu sei que o problema é ali.

    public class Pessoa extends Cidade{
    	
    	private int id;
        private String nome;


    //construtor, getters and setters

    public class Aluno extends Pessoa {

    	private int idAluno;
    	private String instituicao;
    	private String curso;
    	private int matriculaAluno;

    //construtor, getters and setters

    public class Professor extends Pessoa{
    	
    private int idProfessor;
        private int matricula;
        private String lotacao;

    //construtor, getters and setters

    public class Supervisor extends Pessoa{
    	
    	private int idSupervisor;
    	private String formacao;
    //construtor, getters and setters

public class Estagio {

	private int IdEstagio;
	private double chDiaria;
	private double chSemanal;
	private String datainicio;
	private String datafinal;
	private String situacao;
	private double bolsa_auxilio;
	private double bolsa_transporte;
	private Aluno aluno;
	private Professor professor;
	private Supervisor supervisor;
    //construtor, getters and setters

MEU DAO QUE TEM O MÉTODO QUE BUSCA NO BANCO E FAZ A LISTA, A QUERY FUNCIONA BEM, EU TESTEI

public List<Estagio> ListarEstagiosAtivos() {
		Connection con = Conexao.getConnection();
		PreparedStatement stmt = null;
		ResultSet rs = null;
		List<Estagio> estagio = new ArrayList<>();
		try {
			stmt = con.prepareStatement("select (select p.nome from pessoa p inner join aluno a on p.id = a.id_pessoa join estagio e on a.id = e.id_aluno) as nomealuno, (select p.nome from pessoa p inner join orientador r on p.id = r.id_pessoa join estagio e on r.id = e.id_orientador) as nomeorientador, (select p.nome from pessoa p inner join supervisor s on p.id = s.id_pessoa join estagio e on s.id = e.id_supervisor) as nomesupervisor,e.inicio as inicio, e.fim as fim, e.bolsa_auxilio as auxilio, e.bolsa_transporte as transporte, e.ch_diaria as diaria, e.ch_semanal as semanal from estagio e");
			rs = stmt.executeQuery();
			while (rs.next()) {
				Estagio e = new Estagio();
				e.getAluno().setNome(rs.getString("nomealuno"));
				e.getProfessor().setNome(rs.getString("nomeorientador"));
				e.getSupervisor().setNome(rs.getString("nomesupervisor"));
				e.setBolsa_auxilio(rs.getDouble("auxilio"));
				e.setBolsa_transporte(rs.getDouble("transporte"));
				e.setChDiaria(rs.getDouble("diaria"));
				e.setChSemanal(rs.getDouble("semanal"));
				e.setDatainicio(rs.getString("inicio"));
				e.setDatafinal(rs.getString("final"));
				estagio.add(e);
			}
		} catch (SQLException ex) {
			Logger.getLogger(EstadoDAO.class.getName()).log(Level.SEVERE, null, ex);
		} finally {
			Conexao.closeConnection(con, stmt, rs);
		}
		return estagio;
	}

MEU BEAN

@ManagedBean(name = "funcionarioMB")
@SessionScoped
public class FuncionarioMB {
private Esta    gio estagio;
    private List<Estagio> estagiosAtivos;
`private FuncionarioDAO fDAO = new FuncionarioDAO();`

    public FuncionarioMB() {
		super();
		estagio = new Estagio();
            estagiosAtivos = fDAO.ListarEstagiosAtivos();
}

}

MINHA TELA:

<h:form id="form" prependId="false">
			<p:focus />
			<div class="box box-primary">
				<div class="box-header with-border">
					<p:commandButton action="#" ajax="false" icon="fa fa-file-pdf-o"
						value="Exportar" styleClass="btn-primary" />

					<br></br> <br></br>

					<div class="ui-g ui-fluid">
						<p:dataTable var="estagio" value="#{funcionarioMB.estagiosAtivos}">

							<div class="ui-g-12">
								<p:column headerText="Estagiário">
									<h:outputText value="#{estagio.aluno.nome}" />
								</p:column>
							</div>

							<div class="ui-g-12">
								<p:column headerText="Orientador">
									<h:outputText value="#{estagio.professor.nome}" />
								</p:column>
							</div>

							<div class="ui-g-12">
								<p:column headerText="Supervisor">
									<h:outputText value="#{estagio.supervisor.nome}" />
								</p:column>
							</div>

							<div class="ui-g-12">
								<p:column headerText="CH semanal">
									<h:outputText value="#{estagio.chSemanal}" />
								</p:column>
							</div>

							<div class="ui-g-12">
								<p:column headerText="CH semanal">
									<h:outputText value="#{estagio.chSemanal}" />
								</p:column>
							</div>

							<div class="ui-g-12">
								<p:column headerText="Data de início">
									<h:outputText value="#{estagio.datainicio}" />
								</p:column>
							</div>
							
							<div class="ui-g-12">
								<p:column headerText="Data de fim">
									<h:outputText value="#{estagio.datafinal}" />
								</p:column>
							</div>
							
							<div class="ui-g-12">
								<p:column headerText="Bolsa aux.">
									<h:outputText value="#{estagio.bolsa_auxilio}" />
								</p:column>
							</div>
							
							<div class="ui-g-12">
								<p:column headerText="Bolsa transporte">
									<h:outputText value="#{estagio.bolsa_transporte}" />
								</p:column>
							</div>

						</p:dataTable>
					</div>
				</div>
			</div>
		</h:form>

MEU ERRO

Não aparece nada nos logs do seu servidor?

De erro não