JSP (Java Server Page) - Fallo condicion con jsp en tomcat

 
Vista:

Fallo condicion con jsp en tomcat

Publicado por Franjo (4 intervenciones) el 09/10/2006 00:45:54
Tengo un par de html del tipo formulario con un campo hidden y una serie de campos ...

Uno de los dos form por ejemplo tiene este formato.
<form name="formulario2" method="Post" action="../jsp/recoge_datos.jsp">
<input type="hidden" name="tipo_form" value="insertar">
Código del empleado: <input type="text" name="codigo"><br>
Nombre del empleado: <input type="text" name="nombre" size=35><br>
Cargo que ocupa el empleado: <input type="text" name="cargo" size=15><br>
Código del Jefe Asociado: <input type="text" name="codjefe" size=4><br>
Fecha de comienzo en la empresa: <input type="text" name="fechaalta" size=10><br>
Salario de cada empleado: <input type="text" name="salario" size=10><br>
Comisión del empleado: <input type="text" name="comision" size=10><br>
Código del departamento: <input type="text" name="codigodepto" size=2><br><br>
<input type="submit" value="Insertar"> <input type="reset" value="Borrar">
</form>

Estos formulario llaman a un jsp el cual es el mismo para los dos, y en este jsp se comprueba el campo hidden y en funcion del valor muestra los datos de un formulario o los del otro...
Pongo un ejemplo del codigo del jsp.

<%
// Lectura del campo hidden
String v_tipo = request.getParameter("tipo_form");

String v_codigo;
String v_nombre;
String v_cargo;
String v_codjefe;
String v_fechaalta;
String v_salario;
String v_comision;
String v_codigo_depto;

out.println("Tipo Formulario: " + v_tipo + "<br><br>");

if(v_tipo == "insertar")
{
v_codigo = request.getParameter("codigo");
v_nombre = request.getParameter("nombre");
v_cargo = request.getParameter("cargo");
v_codjefe = request.getParameter("codjefe");
v_fechaalta = request.getParameter("fechaalta");
v_salario = request.getParameter("salario");
v_comision = request.getParameter("comision");
v_codigo_depto = request.getParameter("codigodepto");

out.println("Los datos recibidos son: <br>");
out.println("Código del empleado: " + v_codigo + "<br>");
out.println("Nombre del empleado: " + v_nombre + "<br>");
// out.println de los diferentes campos ...
}
%>

El problema es que al evaluar el if (v_tipo == "insertar") no entra dentro de la condición y no muestra los datos ...
sin embargo al hacer out.println("Tipo Formulario: " + v_tipo + "<br><br>"); , muestra en pantalla Tipo Formjulario: insertar

Por que no entra dentro del if y muestra los datos?

Gracias.
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

RE:Fallo condicion con jsp en tomcat

Publicado por neossoftware (70 intervenciones) el 09/10/2006 21:30:33
Mi querido saltamontes lo que estas haciendo mal es la comparacion

ya que
if(v_tipo=="insertar") estas comparando si los objetos son iguales (localidad de memoria)y no el contenido como es tu proposito.

cambia tu if a lo siguiente:

if(v_tipo.equalsIgnoreCase("insertar")) {

}

echate un clavado a la api de String :.
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html

y listo funcionará perfectamente!!!!

Saludos comunidad Open Source
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Fallo condicion con jsp en tomcat

Publicado por Franjo (4 intervenciones) el 11/10/2006 00:51:14
Gracias por tu ayuda ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Fallo condicion con jsp en tomcat

Publicado por JavaSith (1 intervención) el 05/12/2007 19:40:47
No utilizes == al comparar un String, utiliza el método equals()

ej:

String mistring="hola";

if( mistring.equals("hola") ){
// algo
}else{
// algo
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar