JSP (Java Server Page) - Problema al mostrar errores

 
Vista:

Problema al mostrar errores

Publicado por sergio (26 intervenciones) el 10/02/2007 12:08:39
Hola a todos. Tengo una aplicación basada en Struts y me surgen problemas a la hora de mostrar los errores en la propia página. Por ejemplo, cuando quiero dar de alta un cliente y faltan alguno de los datos, como el nombre o los apellidos. Lo tengo hecho así:

Tengo la clase de negocio del cliente, en la que hay una funciona 'validarCliente' a la que se le pasa un objeto Cliente, que será el que posteriormente se le pasará a otra clase de acceso a datos para que cree el nuevo cliente en la base de datos.

[B] private void validarCliente(Cliente cliente) throws ClienteException
{
if(cliente.getNif().trim().equals(""))
{
throw new ClienteException("error.missing.nif");
}

if(cliente.getNombre().trim().equals(""))
{
throw new ClienteException("error.missing.nombre");
}

if(cliente.getApellido1().trim().equals(""))
{
throw new ClienteException("error.missing.apellido1");
}

if(cliente.getApellido2().trim().equals(""))
{
throw new ClienteException("error.missing.apellido2");
}
}[/B]

Tengo definida la excepcion ClienteException a la que se le pasa el correspondiente mensaje de error de la siguiente manera:

[B]package concesionario.negocio;

public class ClienteException extends Exception
{
public ClienteException(String message)
{
super(message);
}
}[/B]

Tengo también un archivo de recursos de la aplicación (ConcesionarioResources.Properties) en el que defino un mensaje asociado a cada error:

[B]error.create.cliente=
<font color="red"> No se puede crear el cliente </font>
error.removed.cliente=
<font color="red"> El cliente seleccionado se ha eliminado </font>
error.duplicate.cliente=
<font color="red"> El cliente especificado ya existe </font>

error.missing.nif=
<font color="red"> Introduzca el NIF </font>
error.missing.nombre=
<font color="red"> Introduzca el nombre </font>
error.missing.apellido1=
<font color="red"> Introduzca el primer apellido </font>
error.missing.apellido2=
<font color="red"> Introduzca el segundo apellido </font>[/B]

Y este archivo esta definido en el web.xml como parámetro de inicio del servlete de acción:

[B] <servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>ConcesionarioResources</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>[/B]

Pues bien, después de todo esto, si por ejemplo dejo sin introducir alguno de los datos del cliente, no me aparece el error correspondiente en la página, simplemente me aparecen dos 'null'. Le he dado mil vueltas y no se que puede estar mal o si se puede hacer mejor de otra forma. Saludos
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
sin imagen de perfil

RE:Problema al mostrar errores

Publicado por camus (89 intervenciones) el 12/02/2007 22:55:25
Hola, para solucionar tu problema necesitas quitar el validation = false en struts-config.xml con esto solucionaras tu problema

saludos
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