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!

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ale_imp

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.

Imagen de jlopezjuy

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.