Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Capturar
Enviado por neil el día 8 de mayo de 2006
Hola, tengo una preguntilla: como capturo el elemento selecionado de una lista (Option), desde un Servlet??
Tngo este trozo de codigo para hacer la lista:
<select name="nom"><option>--Producte--
<%
for (int i=0;i<nom_producte.size();i++) {
out.println ("<option>"+nom_producte.elementAt(i));
}
Quiero capturar la seleccion echa x el usuario. Intento esto, pero no sale :( :
Pues en tu ejemplo no seria String nom=req.getParameter("nom_producte");
lo correcto seria String nom=req.getParameter("nom");
no se si ese sea el error o posteaste mal el codigo
por que utilizas el servlet para generar codigo html, por que utilizas un jsp y de ahi en tu action mandas a traer los parametros del jsp, no es muy recomendable generar html desde el servlet, podrias postear mas codigo para estudiar un poco mas tu problema?
<html>
<body><h3> cerca productes!!!</h3>
<%@page import=\"java.util.*\"%>
<%
// Recuperem els diferents noms de productes
Vector nom_producte=(Vector)session.getAttribute(\"nom_producte\");
// Si és null és que no tenim cap element comprat
if (nom_producte==null) {
%>
Llista buida
<%
} else {
// Sino mostrem tots els elements de la llista
%>
<select name=\"nom\"><option>--Producte--
<%
for (int i=0;i<nom_producte.size();i++) {
out.println(\"<option>\"+nom_producte.elementAt(i));
}
}
%>
</select>
<%
// Recuperem els diferents noms de families
Vector families=(Vector)session.getAttribute(\"families\");
// Si és null és que no tenim cap element comprat
if (families==null) {
%>
Llista buida
<%
} else {
// Sino mostrem tots els elements de la llista
%>
<select name=\"families\"><option>--Families--
<%
for (int i=0;i<families.size();i++) {
out.println(\"<option>\"+families.elementAt(i));
}
}
%>
</select>
<%
// Recuperem les diferents puntuacions
Vector puntuacions=(Vector)session.getAttribute(\"puntuacions\");
// Si és null és que no tenim cap element comprat
if (puntuacions==null) {
%>
Llista buida
<%
} else {
// Sino mostrem tots els elements de la llista
%>
<select name=\"puntuacions\"><option>--Puntuacions--
<%
for (int i=0;i<puntuacions.size();i++) {
out.println(\"<option>\"+puntuacions.elementAt(i));
}
}
%>
</select>
<%
// Recuperem les existencies
Vector existencies=(Vector)session.getAttribute(\"existencies\");
// Si és null és que no tenim cap element comprat
if (existencies==null) {
%>
Llista buida
<%
} else {
// Sino mostrem tots els elements de la llista
%>
<select name=\"existencies\"><option>--Existencies--
<%
for (int i=0;i<existencies.size();i++) {
out.println(\"<option>\"+existencies.elementAt(i));
}
}
%>
</select>
<form name=\"consulta\" method=\"post\" action=\"\\servlet\\opera_cerca2\">
Fes la seleccio i clika <INPUT TYPE=\"SUBMIT\" value=\"Cerca\">
</form>
</body>
</html>
y quiero recuperar desde un sevlet la opcion escogida por el ususario, no se como capturar la opcion seleccionada en un Option.
Lueg en el sevlet capturo:
String nom=req.getParameter(\"nom\"); me da null
y con esto: String nom=req.getParameter(\"nom_producte\"); me da tb null
Asi todo es mas facil :) tu problema es que debes de meter todo en el form de tal forma que tu codigo quedaria de la sig. manera
<html>
<body><h3> cerca productes!!!</h3>
<%@page import=\"java.util.*\"%>
<%
// Recuperem els diferents noms de productes
Vector nom_producte=(Vector)session.getAttribute(\"nom_producte\");
// Si és null és que no tenim cap element comprat
%>
<form name=\"consulta\" method=\"post\" action=\"\\servlet\\opera_cerca2\">
<%
if (nom_producte==null) {
%>
Llista buida
<%
} else {
// Sino mostrem tots els elements de la llista
%>
<select name=\"nom\"><option>--Producte--
<%
for (int i=0;i<nom_producte.size();i++) {
out.println(\"<option>\"+nom_producte.elementAt(i));
}
}
%>
</select>
<%
// Recuperem els diferents noms de families
Vector families=(Vector)session.getAttribute(\"families\");
// Si és null és que no tenim cap element comprat
if (families==null) {
%>
Llista buida
<%
} else {
// Sino mostrem tots els elements de la llista
%>
<select name=\"families\"><option>--Families--
<%
for (int i=0;i<families.size();i++) {
out.println(\"<option>\"+families.elementAt(i));
}
}
%>
</select>
<%
// Recuperem les diferents puntuacions
Vector puntuacions=(Vector)session.getAttribute(\"puntuacions\");
// Si és null és que no tenim cap element comprat
if (puntuacions==null) {
%>
Llista buida
<%
} else {
// Sino mostrem tots els elements de la llista
%>
<select name=\"puntuacions\"><option>--Puntuacions--
<%
for (int i=0;i<puntuacions.size();i++) {
out.println(\"<option>\"+puntuacions.elementAt(i));
}
}
%>
</select>
<%
// Recuperem les existencies
Vector existencies=(Vector)session.getAttribute(\"existencies\");
// Si és null és que no tenim cap element comprat
if (existencies==null) {
%>
Llista buida
<%
} else {
// Sino mostrem tots els elements de la llista
%>
<select name=\"existencies\"><option>--Existencies--
<%
for (int i=0;i<existencies.size();i++) {
out.println(\"<option>\"+existencies.elementAt(i));
}
}
%>
</select>
Fes la seleccio i clika <INPUT TYPE=\"SUBMIT\" value=\"Cerca\">
</form>
</body>
</html>
asi cuando des click a tu boton se incluiran como parametros en el request todo lo q esta dentro de tu <form> </form> espero y esto resuelva tu problema si no por aqui estaremos,, nos cuentas como te va
Saludos...........
<----Dadme un punto de apoyo y movere al mundo------>