Foros del Web » Programación para mayores de 30 ;) » Java »

[appFuse] Desplegar info en display tag con datos de la BD

Estas en el tema de [appFuse] Desplegar info en display tag con datos de la BD en el foro de Java en Foros del Web. Buenas gente del foro. Me encuentro trabajandon con appFuse y estoy queriendo hacer lo siguiente, pero no se por donde encararlo.A simple vista es algo ...
  #1 (permalink)  
Antiguo 26/08/2008, 16:16
Avatar de [NiRVaNa]  
Fecha de Ingreso: abril-2004
Ubicación: Someplace In The Middle Of Nowhere!
Mensajes: 325
Antigüedad: 20 años
Puntos: 6
Pregunta [appFuse] Desplegar info en display tag con datos de la BD

Buenas gente del foro.

Me encuentro trabajandon con appFuse y estoy queriendo hacer lo siguiente, pero no se por donde encararlo.A simple vista es algo simple, pero nose como realizarlo.

Necesito desplegar cierta información en una pagina mediante el display tag. El tema es que la información que quiero desplegar viene de una consulta a la base de datos. Hasta ahora siempre que necesitaba desplegar informacion en un display era haciendo referencia al POJO correspondiente de tal o cual columna. Pero como la consulta hace distintos joins a diferentes columnas, no se como deberia ir el List correspondiente.

Se entiende? Basicamente necesito saber como puedo mostrar esa información que obtengo de la base de datos con el display tag, siguiendo el modelo MVC...

Debería de quedar asi:
Código PHP:
<display:table name="cursoAsignaturaDetalleList" cellspacing="0" cellpadding="0"
    
id="cursoAsignaturaDetalleList" pagesize="25" class="table cursoAsignaturaDetalleList"
    
export="true" requestURI="">
    
    <
display:column property="id" sortable="true" headerClass="sortable"
        
url="/editCursoAsignaturaDetalle.html" paramId="id" paramProperty="id"
        
titleKey="cursoAsignaturaDetalleForm.id"/>
        <%--
    <
display:column property="sede" sortable="true" headerClass="sortable"
         
titleKey="cursoAsignaturaDetalleForm.sede"/>
    <
display:column property="facultad" sortable="true" headerClass="sortable"
         
titleKey="cursoAsignaturaDetalleForm.facultad"/>
         --%>
    <
display:column property="carreraSeccionCabecera" sortable="true" headerClass="sortable"
         
titleKey="cursoAsignaturaDetalleForm.carreraSeccionCabecera"/>
    <
display:column property="curso" sortable="true" headerClass="sortable"
         
titleKey="cursoAsignaturaDetalleForm.curso"/>
    <
display:column property="asignatura" sortable="true" headerClass="sortable"
         
titleKey="cursoAsignaturaDetalleForm.asignatura"/>
    <
display:column property="anho" sortable="true" headerClass="sortable"
         
titleKey="cursoAsignaturaDetalleForm.anho"/>
    <
display:column property="semestre" sortable="true" headerClass="sortable"
         
titleKey="cursoAsignaturaDetalleForm.semestre"/>
    <
display:column property="turno" sortable="true" headerClass="sortable"
         
titleKey="cursoAsignaturaDetalleForm.turno"/>

    <
display:setProperty name="paging.banner.item_name" value="cursoAsignaturaDetalle"/>
    <
display:setProperty name="paging.banner.items_name" value="cursoAsignaturaDetalles"/>
    
</
display:table
Ese es un ejemplo de un display que hago en mi aplicación, que obtiene directamente la información desde el POJO... La verdad que soy muy nuevo con esto y necesito de su ayuda.

Gracias...
  #2 (permalink)  
Antiguo 27/08/2008, 17:18
Avatar de [NiRVaNa]  
Fecha de Ingreso: abril-2004
Ubicación: Someplace In The Middle Of Nowhere!
Mensajes: 325
Antigüedad: 20 años
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...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:23.