Estoy realizando una aplicación en Java para la Web y deseo colocar una grilla, he visto que de acuerdo a los comentarios JqGrid es la mejor, he logrado hasta el momento que me muestre los datos como los ejemplo que dan el la web de los desarrolladores.
Deseo mostrar los datos de una tabla de MySQL, la cual la almaceno en un array de objetos, exactamente no entiendo como hacer que me reconozca la variable que utilizo en javascript, les muestro una parte del codigo:
Este es el codigo que utilizo para consultar:
Código:
Este es el Bean que aparece como la variable bu en el código anterior:public ArrayList<Object> MostrarTipoDocumentoAut(int idTipoDocumento) { try { GR_TIPODOCUMENTOANT = new ArrayList<Object>(); cn = getConection(); String query = "SELECT p.idTipoDocumento, p.campoEntidad, p.habilitar, p.obligatorio "; query += "FROM tipoDocumentoAut p WHERE p.idTipoDocumento = " + idTipoDocumento; System.out.println("***********************************************"); System.out.println("***** Cargando grilla GR_TIPODOCUMENTOAUT *****"); System.out.println("***********************************************"); System.out.println(query); st = cn.createStatement(); ResultSet rs = st.executeQuery(query); BeanTipoDocumentoAut bu; while (rs.next()) { bu = new BeanTipoDocumentoAut(); bu.setIdTipoDocumento(rs.getObject("p.idTipoDocumento")); bu.setCampo(rs.getObject("p.campoEntidad")); bu.setHabilitar(rs.getObject("p.habilitar")); bu.setObligatorio(rs.getObject("p.obligatorio")); GR_TIPODOCUMENTOANT.add(bu); } st.close(); cn.close(); } catch (Exception e) { e.printStackTrace(); } finally { } return GR_TIPODOCUMENTOANT; }
Código:
Esto es parte del código del Action para mostrar el JSP:public class BeanTipoDocumentoAut implements Serializable{ private Object idTipoDocumento; private Object campo; private Object habilitar; private Object obligatorio; public Object getIdTipoDocumento() { return idTipoDocumento; } public void setIdTipoDocumento(Object idTipoDocumento) { this.idTipoDocumento = idTipoDocumento; } public Object getCampo() { return campo; } public void setCampo(Object campo) { this.campo = campo; } public Object getHabilitar() { return habilitar; } public void setHabilitar(Object habilitar) { this.habilitar = habilitar; } public Object getObligatorio() { return obligatorio; } public void setObligatorio(Object obligatorio) { this.obligatorio = obligatorio; } }
Código:
Esto es el script del código del JSP:session.setAttribute("GR_TIPODOCUMENTOAUT", gr.MostrarTipoDocumentoAut(fo)); return mapping.findForward("ok");
<script type="text/javascript">
$(function(){
jQuery("#list4").jqGrid({
datatype: "local",
height: 250,
colNames:['Campo', 'Habilitar', 'Obligatorio'],
colModel:[
{name:'campo',index:'campo', width:60},
{name:'habilitar',index:'habilitar', width:90},
{name:'obligatorio',index:'obligatorio', width:100}
],
caption: "Lista de Campos"
});
var mydata = <%=session.getAttribute("GR_TIPODOCUMENTOAUT")%> ;
for(var i=0;i<=mydata.length;i++)
jQuery("#list4").jqGrid('addRowData',i+1,mydata[i]);
});
</script>
La parte sombreada es donde se que me manda el error, se que si esta los registro en la variable que mando por la sesión pero no se como hacer que me las reconozca JqGrid, se que hay otras maneras como por XML o JSON pero no se como usar estas tecnologías con la manera que estoy almacenando los registros de la tabla en java, agradezco su ayuda.