Usuarios.java
package domain;
public class Usuarios {
String nombre;
public Usuarios() {
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
}
UsuariosController.java
package web.controller;
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 web.validator.UsuariosValidator;
import domain.Usuarios;
@Controller
public class UsuariosController {
@RequestMapping(method = RequestMethod.GET)
public ModelAndView ingreso(){
Usuarios u = new Usuarios();
ModelAndView mav = new ModelAndView("index", "usuarios", u);
return mav;
}
@RequestMapping(method = RequestMethod.POST)
public ModelAndView salida(@ModelAttribute Usuarios u, BindingResult br ){
UsuariosValidator uv = new UsuariosValidator();
uv.validate(u, br);
if(br.hasErrors()){
ModelAndView mav = new ModelAndView("index", "usuarios", u);
return mav;
}else{
ModelAndView mav = new ModelAndView("result", "usuarios", u);
return mav;
}
}
}
UsuariosValidator.java
package web.validator;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
import domain.Usuarios;
public class UsuariosValidator implements Validator {
@Override
public boolean supports(Class> type) {
return Usuarios.class.isAssignableFrom(type);
}
@Override
public void validate(Object o, Errors e) {
Usuarios u = (Usuarios) o;
//validando nombre
String nombre = u.getNombre();
if(nombre==null){
e.rejectValue("nombre", "nombre.required1");
}else{
if(nombre.trim().length()==0){
e.rejectValue("nombre", "nombre.required1");
}else{
if(nombre.trim().length()<3 || nombre.trim().length() >50){
e.rejectValue("nombre", "nombre.required2");
}
}
}
}
}
messages.properties
nombre.required1=Ingrese nombre de usuario
nombre.required2=nombre de [3, 50] caracteres
index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
Nombre
result.jsp
<%@page contentType="text/html" pageEncoding="UTF-8" %>
Bienvenido ${usuarios.nombre} a Spring Framework
redirect.jsp
<%@page contentType="text/html" pageEncoding="UTF-8" %>
<% response.sendRedirect("usuarios.htm"); %>
applicationContext.xml
dispatcher-servlet.xml
web.xml
30