Estoy con la parte de un aplicativo, que integra Struts2-Hibernate-Tiles, que es la de buscar.
Si la busqueda es solo para obtener un resuktado no hay ningún problema:
Código del método execute() del action:
Código:
Parte de código de la JSP dónde se visualiza:public String execute() { try { hibernateSession = HibernateUtil.getSessionFactory().openSession(); hibernateSession.beginTransaction(); String queryBusqueda = "FROM Usuario WHERE " + getCriterio() +"='" + getParametro() + "'"; System.out.println(queryBusqueda); usuario = (Usuario) hibernateSession.createQuery(queryBusqueda).uniqueResult(); //Limpia el campo de busqueda setParametro(""); if(usuario==null){ addActionError("No existe"); return INPUT; } } catch (HibernateException e) { e.printStackTrace(); } return SUCCESS;
Código:
Esto va de maravilla y el resultado és el de la imagen. Pero ya sabeis que con un registro solo seria palo de busqueda porque la consulta puede devolver más de uno.<div id="resultado"> <table id="cabecera" border="1"> <tr> <th>Nombre</th> <th>Apellido</th> <th>NIFCIF</th> <th>E-mail</th> <th>Teléfono</th> <th>Empresa</th> <th>Departamento</th> </tr> <%-- <s:iterator value="listaUsuarios" var="usuario"> --%> <tr> <td><s:property value="usuario.nombre" /> <td><s:property value="usuario.apellido"/> </td> <td><s:property value="usuario.NIFCIF" /></td> <td><s:property value="usuario.email" /></td> <td><s:property value="usuario.telefono"/></td> <td><s:property value="usuario.empresa" /> <td><s:property value="usuario.departamento"/> </td> </tr> <%-- </s:iterator> --%> </table> </div>
Por eso he provado con las moficiaciones siguientes:
- En el metodo execute() del action hago el siguiente cambio:
Código:
Porusuario = (Usuario) hibernateSession.createQuery(queryBusqueda).uniqueResult();
Código:
Así devuelve una lista con los resultados que ha encontrado.listaUsuarios= (List<Usuario>) hibernateSession.createQuery(queryBusqueda).list();
- En la JSP le quito el comentario al iterador:
Código:
Pues esto funciona, a medias,por que he dirigido el resulto hacia la consulta y se ve como en la imagen, pero no en la JSP.<div id="resultado"> <table id="cabecera" border="1"> <tr> <th>Nombre</th> <th>Apellido</th> <th>NIFCIF</th> <th>E-mail</th> <th>Teléfono</th> <th>Empresa</th> <th>Departamento</th> </tr> <s:iterator value="listaUsuarios" var="usuario"> <tr> <td><s:property value="usuario.nombre" /> <td><s:property value="usuario.apellido"/> </td> <td><s:property value="usuario.NIFCIF" /></td> <td><s:property value="usuario.email" /></td> <td><s:property value="usuario.telefono"/></td> <td><s:property value="usuario.empresa" /> <td><s:property value="usuario.departamento"/> </td> </tr> </s:iterator> </table> </div>
¿Donde puedo estar fallando?
Saludos