Foros del Web » Programación para mayores de 30 ;) » Java »

jsp + formulario

Estas en el tema de jsp + formulario en el foro de Java en Foros del Web. Mediante jsp recupero datos de una base de datos y los muestro en un tabla, segun el dato seleccionado debo hacer otra consulta y volver ...
  #1 (permalink)  
Antiguo 19/10/2004, 10:05
 
Fecha de Ingreso: octubre-2004
Mensajes: 55
Antigüedad: 19 años, 6 meses
Puntos: 0
Exclamación jsp + formulario

Mediante jsp recupero datos de una base de datos y los muestro en un tabla, segun el dato seleccionado debo hacer otra consulta y volver a mostrar el resultado. Paso el dato seleccionado con el codigo de abajo, la unica forma (q he encontrado) de pasar el parametro es usando un input de type=submit pero no quiero q tenga apariencia de boton.¿Que tipo debo usar?.Gracias

....
out.println("<FORM METHOD='post' ACTION='sector.jsp'>");
while(resultado.next()) {
for(int i = 1; i<=nCol; i++) {
sector = resultado.getString(i);
out.println("<TR><TD WIDTH='50%' valign='TOP'>");
if (sector != null) {
out.println("<INPUT TYPE=submit "NAME='gransector' VALUE='" + sector + "'>");
} }
out.println("</TD></TR>");
}
}
out.println("</FORM>");
...
  #2 (permalink)  
Antiguo 19/10/2004, 12:48
Avatar de hugo777  
Fecha de Ingreso: enero-2002
Ubicación: Lima, Perú
Mensajes: 757
Antigüedad: 22 años, 3 meses
Puntos: 1
Hola, puedes utilizar el input type='hidden' , algo asi:

<input type="hidden" name="sector" value="VARIABLE_JAVA">
__________________
Saludos,

H@C..
  #3 (permalink)  
Antiguo 19/10/2004, 21:35
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
tambien puedes hacerlo sin necesidad de formularios, por medio la URL

http://www.tupagina.com/index.jsp?no...nombre2=valor2

Luego solo los recuperas asi

Código PHP:
String nombre1 request.getParameter("nombre1");
String nombre2 request.getParameter("nombre2"); 
tambien podria poner esa direccion directo en el action de un formulario si esta informacion no es privada y mandarla tal cual.

Por ultimo tienes la opcion de usar sessiones

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #4 (permalink)  
Antiguo 21/10/2004, 03:28
 
Fecha de Ingreso: octubre-2004
Mensajes: 55
Antigüedad: 19 años, 6 meses
Puntos: 0
Muchas gracias, pero del resultado de la consulta a base de datos me devuelve bastantes datos y el q se seleccione (solo 1) se tiene que pasar como parametro para hacer otra consulta, asiq he optado por el codigo de abajo. Si se os ocurre algo mejor...

Saludos

out.println("<FORM METHOD='post' ACTION='productos.jsp'>");
out.println("<INPUT TYPE=hidden NAME='gransector' VALUE='"
+ request.getParameter("gransector") + "'>");
while(resultado.next()) {
sector = resultado.getString(1);
out.println("<TR><TD class='letraboton' WIDTH='50%' valign='TOP'>");
if (sector != null) {
out.println("<INPUT TYPE=radio NAME='sector' "
+ "VALUE='" + sector + "'>" + sector);
} else {
out.println("<INPUT TYPE=radio NAME='sector' "
+ "VALUE='" + sector + "'>OTROS SECTORES");
}
out.println("</TD></TR>");
}
}
out.println("<INPUT class='letraboton' TYPE=submit "
+ "NAME='sector' VALUE='Mostrar productos'>");
out.println("</FORM>");
  #5 (permalink)  
Antiguo 21/10/2004, 04:17
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
Si no quieres que tenga apariencia de botón lo que puedes hacer es un link que haga un submit. Como supongo que cada dato tiene su propio formulario lo que tienes que hacer esa darle un nombre al formulario en concreto (con un contador puedes ir generandolo dinamicamente) y en el enlace podrías esto (también generando dinamicamente con el mimo nombre que el formulario)

<a href="javascript:void(0)" onclick="document.form1.submit()">Mostrar datos</a>
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #6 (permalink)  
Antiguo 21/10/2004, 09:01
 
Fecha de Ingreso: octubre-2004
Mensajes: 55
Antigüedad: 19 años, 6 meses
Puntos: 0
ahora tengo otro problema:

Desde un fichero jsp consulto una BBDD access para obtener las empresas cuyo campo GRANSECTOR tiene el valor null. Si la consulta la hago directamente en access en devuelve 5 registros, pero en jsp me devuelve un Resulset vacio (no entra en while(resultado.next()) ). Parece q no interpreta bien el null.
Muchas gracias.

<%
Connection conexion = null;
PreparedStatement consulta = null;
ResultSet resultado = null;
String sector = null;
String SQL = null;
SQL = "SELECT DISTINCT[SECTOR] FROM Empresas WHERE GRANSECTOR="
+ null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conexion = DriverManager.getConnection("jdbc:odbc:Empresas");
consulta = conexion.prepareStatement(SQL);
resultado = consulta.executeQuery();
} catch(Exception e) {
System.out.println(e);
}
try {
out.println("<FORM METHOD='post' ACTION='productos.jsp'>");
out.println("<INPUT TYPE=hidden NAME='gransector' VALUE='"
+ gransector + "'>");
while(resultado.next()) {
sector = resultado.getString(1);
System.out.println(sector);
}
} catch(Exception e) {
System.out.println(e);
}
try{
conexion.close();
} catch (Exception e) {
System.out.println("Error al cerrar conexion" + e);
}
%>
  #7 (permalink)  
Antiguo 21/10/2004, 13:05
Avatar de hugo777  
Fecha de Ingreso: enero-2002
Ubicación: Lima, Perú
Mensajes: 757
Antigüedad: 22 años, 3 meses
Puntos: 1
Pues, me parece que te estas confundiendo con el null de java...

Prueba asignando a tu variable SQL, esta cadena:

SQL = "SELECT DISTINCT[SECTOR] FROM Empresas WHERE GRANSECTOR is null ";
__________________
Saludos,

H@C..
  #8 (permalink)  
Antiguo 22/10/2004, 02:07
 
Fecha de Ingreso: octubre-2004
Mensajes: 55
Antigüedad: 19 años, 6 meses
Puntos: 0
siempre igual

Muchas gracias, no te puedes imaginar la de veces q me ha pasado lo mismo... y siempre se me olvida para la siguiente.
  #9 (permalink)  
Antiguo 26/10/2004, 04:38
 
Fecha de Ingreso: octubre-2004
Mensajes: 55
Antigüedad: 19 años, 6 meses
Puntos: 0
el siguiente codigo no me envia el parametro "gransector"

<%
Connection conexion = null;
PreparedStatement consulta = null;
ResultSet resultado = null;
String granSector = null;
String SQL = "SELECT DISTINCT[GRANSECTOR] FROM Empresas ORDER BY GRANSECTOR";

try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conexion = DriverManager.getConnection("jdbc:odbc:Empresas");
consulta = conexion.prepareStatement(SQL);
resultado = consulta.executeQuery();

} catch(Exception e) {
System.out.println(e);
}
try {
while (resultado.next()) {
granSector = resultado.getString(1);
out.println("<TR><TD class='letraboton' WIDTH='50%' valign='TOP'>");
if (granSector != null) {
out.println("<a href='sector.jsp?gransector='" + granSector + "'>"
+ granSector + "</a>");

} else {
out.println("<a href='sector.jsp?gransector=" + granSector + ">OTROS
GRANDES SECTORES</a>");
}
out.println("</TD></TR>");
}
} catch (Exception e) {
System.out.println(e);
}
try{
conexion.close();
} catch (Exception e) {
System.out.println("Error al cerrar conexion" + e);
}
%>


.....

en sector.jsp

request.getParameter("gransector") devuelve "" una cadena vacia
  #10 (permalink)  
Antiguo 26/10/2004, 04:46
 
Fecha de Ingreso: octubre-2004
Mensajes: 55
Antigüedad: 19 años, 6 meses
Puntos: 0
olvidadlo... era un simple problema de comillas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:21.