JSP (Java Server Page) - Java (Servlets y JSP)

 
Vista:

Java (Servlets y JSP)

Publicado por dulanblade (5 intervenciones) el 01/12/2005 09:25:22
Buenas, tengo en un JSP una lista desplegable con los nombres de las tablas de una BD con databasemetadata, al elegirlas me salen sus campos y cada campo lleva un checkbox al lado, tambien tengo un boton de submit, una vez le de al boton de submit deben irme a otro JSP (jsp2) los valores de los campos seleccionados, como lo hago?, pongo el codigo que intento pero no me lleva nada :-(, gracias de antemano:

J1.JSP

<%@ page contentType="text/html;charset=windows-1252" import="Sept.Datos"%>
<jsp:useBean id="d" class="Sept.Datos" scope="session" />

<%
String seleccionado = request.getParameter("select0");
if((seleccionado!=null)&&(!seleccionado.equals("")))
{
d.seleccionado = seleccionado;
}

String mos = request.getParameter("mostrar");
if (mos!=null)
{
for (int i=0;i<d.cont;i++)
{
String most = request.getParameter("checkbox"+d.tabla[i]);
System.out.println(most);
d.sacar(most);
d.detalle=most;
}
}
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>
ExaSept05Dic
</title>
</head>
<body>
<form>
<select name="select0" onChange="submit()">
<%=d.Select0()%>
</select><br><br>
<%=d.Tabla0()%> <%--Tambien puede ir fuera del form PERO MEJOR ANTES DEL
BOTON--%>
</form>

<form action="J2.jsp">
<input type="submit" name="mostrar" value="Mostrar Datos">
</form>
</body>
</html>

DATOS.JAVA (el bean)

package Sept;
import java.sql.*;

public class Datos
{
public String seleccionado;
public String tabla[]= new String[30]; //Hay 21 columnas al empezar el
ejer(lo coje de access cosas suyas,tablas se sistema)
public int cont;
public String detalle="";
DatabaseMetaData dbmd;
//Statement st; //Esto seria con Select...
public Datos()
{
try
{
DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
Connection cn = DriverManager.getConnection("jdbc:odbc:examen");
dbmd = cn.getMetaData();
//st = cn.createStatement(); //Esto seria con Select...
}catch(Exception e)
{
System.out.println(e);
}
}
public String Select0() throws Exception
{
//Salen tablas de sistema tambien, eso se podia arreglar poniendo una
clausula en el 4º parametro pa salir SOLO "TABLES"
ResultSet rs = dbmd.getTables(null,null,null,null);
//ResultSet rs = st.executeQuery("Select * from dept"); //Esto seria con
Select...
String select0;
select0="<option value=''>Selecciona un departamento</option>";

while(rs.next())
{
String nombre = rs.getString(3); //Si saco esto fuera del while PETA,
es normal
//Tengo que meter rs.getString en 1 var xk access da error si haces
getString de 1 col 2 veces, si va en variable no
if (nombre.equals(seleccionado))
select0=select0+"<option selected
value="+nombre+">"+nombre+"</option>";
else
select0=select0+"<option value="+nombre+">"+nombre+"</option>";
}
return select0;
}
public String Tabla0() throws Exception
{
ResultSet rs2 = dbmd.getColumns(null,null,seleccionado,null);
String tabla0=""; //Sino inicializo antes de entrar al while da error,
al hacer con table tambien inicializo antes
//tabla0="<table>";
cont=0;

while (rs2.next())
{
String campos = rs2.getString(4); //Si saco esto fuera del while PETA,
es normal
tabla[cont]=campos; //si en vez de campos pongo rs2.getString(4) PETA
por el tema de getString 2 veces en ACCESS
//tabla0=tabla0+"<tr><td><input type='checkbox'
name='checkbox"+campos+"'
value='checkbox"+campos+"'>"+"<td>"+campos+"</tr>";
tabla0=tabla0+"<input type='checkbox' name='checkbox"+campos+"'
value='"+campos+"'>"+campos+"<br>";
//Lo hago sin tablas tambien
cont=cont+1;
}
//tabla0=tabla0+"</table>";
return tabla0;
}
public void sacar(String campo)
{
System.out.println(campo);
}
}

J2.JAVA

<%@ page contentType="text/html;charset=windows-1252" import="Sept.Datos"%>
<jsp:useBean id="d" class="Sept.Datos" scope="session" />

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>
Detalle
</title>
</head>
<body>
Select <%=d.detalle%> from
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder