我有一个弹簧控制器,我想要一种方法来处理某个请求,然后重定向到另一个并保留一些附加值,所以我将在第一个上使用 RedirectAttributes,在第二个上使用 @ModalAttribute,但事实是我不会总是有这个模态属性存在,所以我只想在它存在时添加它。
@RequestMapping("/main")
public String getMain(Model model,HttpSession session,@ModalAttribute List<Loans> loansList){
if(session.getAttribute("user") != null){
if(session.getAttribute("current_start")!=null){
model.addAttribute("loans",loanDao.findAll((Integer) session.getAttribute("current_start")));
} else {
model.addAttribute("loans",loanDao.findAll(0));
session.setAttribute("current_start",0);
}
model.addAttribute("loan",new Loan());
model.addAttribute("countries",countryDao.findAll());
model.addAttribute("types",typeDao.findAll());
session.setAttribute("total_loans_number", loanDao.findCount());
return "main";
} else {
return "redirect:index";
}
}
并且重定向一个是
@RequestMapping(value = "/search")
public String searchLoans(Model model,RedirectAttributes redirectAttributes,
@RequestParam String keyword){
redirectAttributes.addAttribute("loansList",loanDao.findAll(keyword));
return "redirect:/main";
}
但是这里@ModalAttribute 失败了,因为它有时不存在,有时我在没有loansList 的情况下请求main,如何仅在它存在时才添加它?或者如何正确地做到这一点?