JSF - No se me actualiza el DataTable a través de un commandButton actionListener

 
Vista:

No se me actualiza el DataTable a través de un commandButton actionListener

Publicado por Usuario94 (1 intervención) el 09/07/2015 19:24:56
Tengo un problema, no puedo actualizar el valor de un datatable en respuesta a un query.
JSF 2.1
Primefaces 5.3
JBoss 7.1
NetBeans 7.3
Java EE 6

Mi vista:

<h:form id="form1">
<center>
<p:commandButton value="Buscar" actionListener="#{periodoSesion.listarNotas()}" update="dt1" />
<p:panel id="actualizar">


<h:panelGrid columns="1" cellpadding="5">
<f:event type="preRenderView" listener="#{notasBEAN.listarNotas()}" />
<p:fieldset style="margin-bottom:50px">
<p:dataTable id="dt1" tableStyle="width:auto" value="#{notasBEAN.lnotas}" var="n" >
<p:column headerText="Año" style="font-size: 75%">
<center>
<h:outputText value="#{n.anio}" style="font-size: 65%" />
</center>

</p:column>
</p:dataTable>
</p:fieldset>

</h:panelGrid>
</h:form>

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

Mis beans:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------


@Named(value = "periodoSesion")
@SessionScoped

public class PeriodoSesionBEAN implements Serializable{
/*ATRIBUTOS*/
private PeriodoSesion periodo = new PeriodoSesion();

public void listarNotas() throws SQLException, IOException, NamingException, Exception{
NotasBEAN notasBEAN = new NotasBEAN();
try{
notasBEAN.listarNotasPar("2000080162", String.valueOf(periodo.getAnio()), periodo.getCod_sesion());
}catch(Exception e){
throw e;
}
}

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

@Named(value = "notasBEAN")
@SessionScoped
public class NotasBEAN implements Serializable{
private List<Notas> lnotas; //Cada uno con su método set y get (no lo pongo para no tener más líneas.)
private Notas nota= new Notas();

public void listarNotas() throws SQLException, IOException, NamingException, Exception{
NotasDAO notasDAO;
try{
notasDAO = new NotasDAO();
setLnotas(notasDAO.ListarNotas()); // Actualizo la lista para mostrar los datos del QUERY
}catch(Exception e){
throw e;
}
}

public void listarNotasPar(String ps_pna_cod_alumno, String ps_anio, String ps_cod_sesion) throws SQLException, IOException, NamingException, Exception{
NotasDAO notasDAO;
try{
notasDAO = new NotasDAO();
setLnotas(notasDAO.ListarNotasPar(ps_pna_cod_alumno, ps_anio, ps_cod_sesion)); //Actualizo la lista
System.out.println("Notas recibidas: "+lnotas.size());
}catch(Exception e){
throw e;
}
}

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

Lo que arroja el JBoss:
Cuando realizo una consulta que sé que no me trae ningún valor.
10:44:54,608 INFO [stdout] (http--127.0.0.1-8080-3) Notas recibidas: 0
Cuando realizo una consulta que sé que me trae varios valores.
10:48:56,953 INFO [stdout] (http--127.0.0.1-8080-3) Notas recibidas: 51

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. Los métodos DAO funcionan correctamente, me realizan la consulta y me devuelven los registros que debe.
2. En teoría en mi lista lnotas, al llamar a notasDAO.ListarNotasPar(…), me devuelve la lista y la llena, pero no se me actualiza en la vista, el botón tiene indicado que elemento de la vista debe de actualizar y no lo hace.
3. Tengo un BEAN periodoSesion, porque ahí tengo dos atributos que son año y sesión, los cuales los obtengo de una tabla periodo_Sesion, estos funcionan perfectamente, por eso no los detallo.
4. Llamo desde el botón al método de periodoSesion porque necesito capturar los valores que el usuario ha seleccionado en la vista. Entonces, así, lo envío a notasBEAN que es otro bean, el cual podrá modificar lnotas que es la lista con la cual “debería” actualizarse el datatable.
5. La vista solo muestra los valores que se cargan por defecto y nunca se actualiza.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

No se me actualiza el DataTable a través de un commandButton actionListener

Publicado por JORGE LUIS MENDEZ (1 intervención) el 01/06/2016 17:50:07
Disculpe , puedo solucionar este problema , porque tengo el mismo problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar