package com.sishuok.spring4.controller; import com.sishuok.spring4.entity.User; import com.sishuok.spring4.error.AjaxError; import com.sishuok.spring4.service.UserService; import com.sishuok.spring4.validator.CrossParameter; import org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.validation.Errors; import org.springframework.validation.ValidationUtils; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.*; import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolationException; import javax.validation.Valid; import javax.validation.Validator; /** * <p>User: Zhang Kaitao * <p>Date: 13-12-13 * <p>Version: 1.0 */ @Controller public class UserController { @RequestMapping("/save") public String save(@Valid User user, BindingResult result) { if(result.hasErrors()) { return "error"; } return "success"; } @RequestMapping("/ajax") @ResponseBody public Object ajaxError(@Valid User user, BindingResult result) { if(result.hasErrors()) { return AjaxError.from(result, null); } return "success"; } @RequestMapping("/register") public String register(@Valid User user, BindingResult result) { if(result.hasErrors()) { return "error"; } return "success"; } @Autowired private UserService userService; @RequestMapping("/changePassword") public String changePassword( @RequestParam("password") String password, @RequestParam("confirmation") String confirmation, Model model) { try { userService.changePassword(password, confirmation); } catch (ConstraintViolationException e) { for(ConstraintViolation violation : e.getConstraintViolations()) { System.out.println(violation.getMessage()); } } return "success"; } }