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

Validacion de Formularios y RedirectView class

Estas en el tema de Validacion de Formularios y RedirectView class en el foro de Java en Foros del Web. Hola haber si se os ocurre alguna idea a vosotros. Os Voy a dar lo que tengo hecho hasta ahora: Este es mi modelo: Código: ...
  #1 (permalink)  
Antiguo 14/06/2013, 12:05
 
Fecha de Ingreso: agosto-2012
Mensajes: 28
Antigüedad: 11 años, 7 meses
Puntos: 0
Validacion de Formularios y RedirectView class

Hola haber si se os ocurre alguna idea a vosotros.

Os Voy a dar lo que tengo hecho hasta ahora:

Este es mi modelo:
Código:
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.NotEmpty;



@Entity
@Table(name="user")
public class User {
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="codigo")
	private Long cod;

	@NotEmpty
	@Size(min=1,max=20)
	@Column(name="nombre")
	private String nombre;
	
	@Column(name="created")
	private Date created;
	public Long getCod() {
		return cod;
	}

	public void setCod(Long cod) {
		this.cod = cod;
	}
	
	
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public Date getCreated() {
		return created;
	}

	public void setCreated(Date created) {
		this.created = created;
	}
	

}
Y este mi controlador:

Código:




import java.util.Date;

import javax.validation.Valid;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;

import com.x.webside.data.model.User;
import com.x.webside.service.UserService;

@Controller
public class RecorderUserController {
	
	
	@Autowired
	UserService userService;
	
	
	
	@RequestMapping(value = "/onSubmit", method = RequestMethod.POST)
    public ModelAndView onSubmit(@Valid @ModelAttribute("user") User user, BindingResult result) {
		
		
		if(!result.hasErrors()){
			user.setCreated(new Date());
	        userService.create(user);
			return new ModelAndView(new RedirectView("form"),"error","false");
		} 
		
        return new ModelAndView(new RedirectView("form"),"error","true");
    }
     
    @RequestMapping(value="/form", method= RequestMethod.GET)
    public ModelAndView showForm() {
         
        return new ModelAndView("form", "user", new User());
    }

}
Y Este es mi formulario.jsp
Código:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Form</title>
</head>
<body>
	<form:form method="POST" action="addUser" commandName="user" modelAttribute="user">
		<table>
			<tr>
				<td>Nombre</td>
				<td><form:input path="nombre"/></td>
				<td><font color="red"><form:errors path="nombre"/></font></td>
			</tr>
			<tr>
				<td colspan="2"><input type="submit" value="Registrar"/></td>
			</tr>
		</table>
	</form:form>
</body>
</html>

El problema reside en que con el RedirectView el BlindingResult valida , pero no me muestra los mensajes de errores .

Si no uso el RedirectView todo funciona de bien pero si lo uso no me muestra los mensajes.
NOTA: Los errores estan en un archivo de propiedades


Alguna idea de por que y alguna solucion en codigo??

Etiquetas: formularios, spring
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 06:30.