Spring 2.X 深入了解 ------->Resource操作和Validator
Spring的 package com.chenhailong.validator;/** * @author cnchenhl * Aug 22, 2011 */public class Person { private String name; private int age; /** * @return the name */ public String getName() { return name; } /** * @return the age */ public int getAge() { return age; } /** * @param name the name to set */ public void setName(String name) { this.name = name; } /** * @param age the age to set */ public void setAge(int age) { this.age = age; }}?package com.chenhailong.validator;import org.springframework.validation.Errors;import org.springframework.validation.ValidationUtils;import org.springframework.validation.Validator;/** * @author cnchenhl * Aug 22, 2011 */public class PersonValidator implements Validator { @Override public boolean supports(Class clazz) { return Person.class.equals(clazz); } @Override public void validate(Object obj, Errors e) { ValidationUtils.rejectIfEmpty(e, "name", "name.empty"); Person p = (Person) obj; if (p.getAge() < 0) { e.rejectValue("age", "negativevalue"); } else if (p.getAge() > 100) { e.rejectValue("age", "too.darn.old"); } }}?package com.chenhailong.validator;import java.util.List;import org.springframework.validation.BindException;import org.springframework.validation.Errors;import org.springframework.validation.ObjectError;/** * @author cnchenhl * Aug 22, 2011 */public class SpringValidator { /** * @param args */ public static void main(String[] args) { PersonValidator pv = new PersonValidator(); Person person = new Person(); person.setAge(-10); person.setName(""); pv.supports(Person.class); Errors e = new BindException(person, "person"); pv.validate(person, e); List list = e.getAllErrors(); for (int i = 0; i < list.size(); i++) { System.out.println(((ObjectError) list.get(i)).getCode()); } }}?