我创建了注册控制器。一切正常,用户是在数据库中创建的,但最终服务程序没有进入successRegister视图。我不知道为什么。如果我像字符串successRegister一样返回,一切都是正常的。
@RequestMapping(value = "/add", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ModelAndView registerUserAccount(@RequestBody @Valid User accountDto,
BindingResult result, WebRequest request, Errors errors) {
if (result.hasErrors()) {
return new ModelAndView("successRegister", "User", accountDto);
}
User registered = userService.register(accountDto);
if (registered == null) {
result.rejectValue("email", "message.regError");
}
try {
String appUrl = request.getContextPath();
eventPublisher.publishEvent(new OnRegistrationCompleteEvent
(registered, request.getLocale(), appUrl));
} catch (Exception me) {
return new ModelAndView("successRegister", "User", accountDto);
}
return new ModelAndView("successRegister");
}发布于 2016-07-07 00:44:31
问题出在AJAX上。我在成功后改变了位置,然后ModelAndView就没有回来了。
发布于 2016-07-07 19:09:50
你的问题出在这里
produces = MediaType.APPLICATION_JSON_VALUE
您说生成一个JSON响应,但事实并非如此,您希望返回一个ModelAndView,因此尝试删除该属性
https://stackoverflow.com/questions/38223782
复制相似问题