Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/08/2008, 17:18
Avatar de [NiRVaNa]
[NiRVaNa]
 
Fecha de Ingreso: abril-2004
Ubicación: Someplace In The Middle Of Nowhere!
Mensajes: 325
Antigüedad: 20 años, 10 meses
Puntos: 6
Respuesta: [appFuse] Desplegar info en display tag con datos de la BD

Nuevamente aqui... estoy casi casi casi a punto de solucionar mi problema... pero me surgieron otros problemas...

Repondiendo literalmente lo que yo necesitaba en mi titulo se encuentra aca: http://displaytag.sourceforge.net/11/tut_sources.html

Pero no me sirvio. Encontre otra forma (medio rebuscada creo) para hacerlo, cree todos los componentes del modelo MVC (Dao, Service y Controller) excepto por el action. El tema es que no estoy usando una tabla de la base de datos especifica, y no agregue ninguna marca XDoclet que haga referencia a alguna tabla, solamente el nombre de cada columna.

En mis directorios quedaron estos archivos: (sigo utilizando appFuse)

Dentro dao tengo: Reportes.java (en Model) - ReportesDao.java y ReportesDaoHibernate.java
Tambien configurado mi applicationContext-hibernate.xml (es aqui donde reside mi problema, luego explico porqué)
y dentro de Queries en un archivo llamado Acad.hbm.xml tengo mi correspondiente consulta SQL

Dento de service tengo (ReportesManager.java y ReportesManagerImpl.java) y los arreglos correspondientes dentro de applicationContext-service.xml

y dentro de web no tengo nada, porque no usaré ningun actionform.

Ahora bien, todo esto es para desplegar una lista de los datos que me trae la base de datos. Los datos viene bien, sin problemas, pero al momento de mostrarlos es donde no funciona...
Asi quedo armado mi display table:
Código PHP:
<display:table name="reportesList" cellspacing="0" cellpadding="0"
    
id="reportesList" pagesize="25" class="table reportesList"
    
export="true" requestURI="">

    <
display:column property="curso" sortable="true" headerClass="sortable"
         
titleKey="solicitudGeneralForm.curso"/>
    <
display:column property="turno" sortable="true" headerClass="sortable"
         
titleKey="solicitudGeneralForm.turno"/>
    <
display:column property="cantidad" sortable="true" headerClass="sortable"
         
titleKey="alumnosInscriptosList.cantidad"/>
    <
display:column property="carrera" sortable="true" headerClass="sortable"
         
titleKey="carreraSeccionCabeceraForm.carrera"/>
    <
display:column property="anho" sortable="true" headerClass="sortable"
         
titleKey="solicitudDescuentoForm.anho"/>

    <
display:setProperty name="paging.banner.item_name" value="reporte"/>
    <
display:setProperty name="paging.banner.items_name" value="reportes"/>
</
display:table
Por qué no muestra? Porque cada display:column hace referencia a una propiedad dentro de Reportes.java (POJO), y la consulta SQL me devuelve los datos en un List, pero revisando con el depurador, en vez de que sea "curso = xxx", tiene otro nombre "Object[1] = xxx". Inclusive el objeto List que devuelve tiene un nombre diferente, y deberia de ser "reporte..."

Y por lo tanto me sale un error en el jsp que dice que no se puede encontrar el getter correspondiente dentro del bean "Object....xxxx" (el nombre con el que devuelve el objeto).

Creo que la forma de solucionar esto es haciendo que el SQL retorne los datos de forma como si fuera un POJO, y lo hice de esta manera "<return class="...model.Reportes"/>.

Pero como no esta linkeado a ninguna tabla dentro de la base datos no se crea el archivo "Reportes.hbm.xml" y no puede retornar la info, y no funciona nada...

Se entiende? Creo qe estoy a 1 o 2 pasos de que funcione, alguien me puede dar algun consejo? Gracias...