Muy buenas señores, una vez solucionados los problemas con los imports de los jsp, se me presenta otro. No me muestra nada del jtable. He metido en el codigo varios out.println para ver si me saca bien los resulset y todo va perfecto. Os pongo el codigo para que me digais que me falla y si hay algun tipo de evento o prpiedad del jtable para ponerlo visible.
Código PHP:
<!-- Los import -->
<%@page import="javax.swing.table.DefaultTableModel"%>
<%@page import="javax.swing.*"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
DefaultTableModel modelo = new DefaultTableModel();
JTable tabla = new JTable(modelo);
JScrollPane scroll = new JScrollPane(tabla);
String Driver = "org.gjt.mm.mysql.Driver";
Connection conexion;
try {
Class.forName(Driver);
out.println("<b>El driver se ha cargado con exito.</b><br>");
try {
conexion = DriverManager.getConnection(
"jdbc:mysql://localhost/Cartografia", "root",
"*********");
out
.println("<b>La conexion con la base de datos se ha realizado con exito.</b><br>");
Statement st = conexion.createStatement();
String texto1 = request.getParameter("ref_geograficas");
String texto2 = request.getParameter("ref_tematicas");
String texto3 = request.getParameter("ref_cronologias");
String texto4 = request.getParameter("nombre_autor");
ResultSet rs = st
.executeQuery("select * from Cartografia where signatura like '%"
+ texto1
+ "%' and lugargeografico1 like '%"
+ texto2
+ "%' and titulo like '%"
+ texto3
+ "%' and AutorPersonal like '%"
+ texto4
+ "%'");
ResultSetMetaData metaDatos = rs.getMetaData();
// Se obtiene el número de columnas.
int numeroColumnas = metaDatos.getColumnCount();
out.println("" + numeroColumnas);
// Se crea un array de etiquetas para rellenar las columnas de la tabla con los titulos de los campos
Object[] etiquetas = new Object[numeroColumnas];
// Se obtiene cada una de las etiquetas para cada columna
for (int i = 0; i < numeroColumnas; i++) {
// Nuevamente, para ResultSetMetaData la primera columna es la 1.
etiquetas[i] = metaDatos.getColumnLabel(i + 1);
out.println("<br>" + etiquetas[i]);
modelo.setColumnIdentifiers(etiquetas);
}
while (rs.next()) {
Object[] fila = new Object[numeroColumnas]; // Hay 15 columnas en la tabla
for (int i = 0; i < numeroColumnas; i++) {
fila[i] = rs.getObject(i + 1); // El primer indice en rs es el 1, no el cero, por eso se suma 1.
out.println("<br>" + fila[i]);
//out.println(""+fila[i]);
}
modelo.addRow(fila);
}
} catch (Exception e) {
out.println("Error conexion base de datos: " + e);
}
} catch (Exception e) {
out.println("Error carga de driver: " + e);
}
%>
</body>
</html>
Gracias de antemano.