Struts2-jquery - Mostrar registros en un JQGrid
Hola a todos, éste es mi primer blog y aporte en esta fabulosa comunidad de JAVA México, espero que les sea de muchísima ayuda para sus proyectos. En esta ocasión, les presento un ejemplo muy rápido y sencillo de cómo utilizar el plugin de Jquery para Struts2 y poder mostrar los registros de una consulta en el componente JQGrid, el cuál nos permite visualizar la información de una forma atractiva y nos abstrae un poco de operaciones bastante cotidianas como la paginación de resultados y la posibilidad de ordenar los registros por algun campo en particular.
En la red existen múltiples ejemplos del uso de este componente, la mayoría (como en casi todos los buenos manuales) están en inglés y otra cosa que tienen mucho en común es que lo ejemplifican con Anotaciones. En este caso el ejemplo que les mostraré evidentemente está en español pero también está basado en la configuración con XML y no con Anotaciones, que en mi opinión es un poco más fácil de entender (con XML).
Bueno, vayamos al ejemplo.
Lo primero que veremos será el Action, en el cual se centra practicamente la funcionalidad del JQGrid.
UserAction.java:
Una vez armado el Action, nuestro JSP queda asi.
user.jsp:
Ahora resta ver cómo queda el archivo de configuración struts.xml
struts.xml:
Y precisamente es en éste último archivo en donde está la mayor diferencia con respecto a los ejemplos que hay con Anotaciones, explico:
El
es únicamente para que nos redirija a la jsp que contiene el JQGrid, en este caso users.jsp.
El
es la más importante ya que, una vez que user.jsp se haya cargado, el JQGrid hará la llamada a esta acción vía ajax para obtener la consulta y los parámetros que usa. El resultado de la llamada al UserAction será un objeto json con todo lo que necesita el JQGrid para pintarse.
La parte de
es en donde se ponen, separados por coma, los atributos del UserAction que la respuesta enviará en formato json (de esto se encarga el plugin de jquery, invocando el método set de cada atributo que indicamos). Nótese en particular el atributo "gridModel", el cual, sabemos que es un List con objetos Bean (UserTO) que representan cada uno de los registros de la consulta, por esta razón lleva un punto y un asterisco (gridModel.*), para indicarle al jquery que ese parámetro tiene objetos dentro que debe pasar también a formato json. De tal manera que la respuesta será mas o menos de esta manera:
Y el resultado es el de la imagen que adjunto aqui.
Espero les haya sido de gran ayuda este pequeño blog, es la primera vez que aporto algo, por lo que si no me dí a entender claramente o creen que omití cosas importantes, una disculpa y les pido me lo hagan saber para mejorar ésta y mis próximas aportaciones.
Un saludo a todos!
- diegokuh's blog
- Inicie sesión o regístrese para enviar comentarios
Orale Muchas Gracias!!!
Mu gusto mucho tu ejemplo muchas felicidades, gracias por tu aporte, yo en estos momentos ando aprendiedo struts 2 y de verdad q tu ejemplo me sirvio bastante de nuevo muchas gracias.
Ejemplo
Hola como estas, tendrias el proyecto completo para probar, lo intento ahcer con eclipse y no me funciona, gracias.
Ejemplo Fuente
Hola como estas Brother , por favor si no fuera tanta molestia enviarme las fuenets de este ejemplo . te lo agradeceria . mi correo
es ffernandox@hotmail.com.
fuentes
por si acaso ya lo tienes las fuentes de este ejemplo .. ???
Sobre tu ejemplo
Buenas tardes, estoy recien programando en struts2 en mi oficina y justamente me estan pidiendo con jqgrid, me podrias enviar el ejemplo, gracias de antemano, Juan Carlos Espinoza Lima Peru jcjavadeveloper@gmail.com
Struts2-jquery
Buenos dias
Estoy recien programando en struts2 + jqgrid, me podrias enviar el ejemplo con el proyecto de java
Juan Brito Milano Italia brito.grandes@gmail.com gracias
Aunque quisiera saber si me puedes dar tu mail para poder hablar de un proyecto con Strust2
Necesito Asesoría URGENTE
Estimados, necesito que me puedan enseñar este concepto de jqGrid, pues estoy programando con Kohana (PHP)
y necesito obtener datos desde SQL/Server con jqGrid.
Como sería recomendable programar jqGrid para que al accesar a la base de datos (una tabla), pueda obtener los registros de la tabla desde la paginación que me envía el HTML jqGrid (No sé si 'XML', 'JSON' ó 'ARRAY'.
El 'ARRAY' no sé como llenarlo desde un PHP para ser enviado al HTML y este lo pagine.
agradecido por su ayuda, que me puedan enviar una solución a mi correo ' cbonick2@yahoo.cl'
NOTA:
Herramientas que utilizo son: Eclipse, SQL Server 2008, PHP sobre Kohana.