3
LoginFormController - >在提交/发布表单后调用Post。最后,它调用另一个名为LandingFormController - > loadForm的Controller。弹簧控制器(A).method调用控制器(B)。方法但找到空的模型
那么,在loadForm模型中的值似乎是空的。有没有一种方法可以在会话或请求中持久化Bean,并将它放入loadForm方法中?加分点:如果你能指出一些文件指:)
感谢
@Controller
@RequestMapping(value="/login")
public class LoginFormController {
@RequestMapping(method=RequestMethod.POST)
public ModelAndView post(@ModelAttribute User user, BindingResult result, SessionStatus status) {
logger.info("post");
new ReceiptUserValidator().validate(user, result);
if (result.hasErrors()) {
return new ModelAndView("login");
}
else {
logger.info("Email Id: " + user.getEmailId());
//status.setComplete();
Map<String, Object> model = new HashMap<String, Object>();
model.put("userId", user.getEmailId());
model.put("now", new Date().toString());
return new ModelAndView("redirect:/landing.htm", "model", model);
}
}
控制器B以下时调用
@Controller
@RequestMapping(value="/landing")
public class LandingFormController {
protected final Log logger = LogFactory.getLog(getClass());
@RequestMapping(method=RequestMethod.GET)
public String loadForm(Model model) {
logger.info("LandingFormController loadForm: " + model.asMap().keySet());
return "landing";
}
}
酷奏效。 –
@java_dude非常好,很高兴我可以帮忙,并可以使用我最近的一些阅读材料来造福他人。好的问题顺便说一句,当你发布所有的代码时,它有很大的帮助。 –
我必须执行重定向才能更改链接,否则链接始终会显示/login.htm。 如果有另一种方式来更新链接,我宁愿不做重定向。 –