Reputation: 11
Hello I've got a problem with Session Attribute
I've 2 Controller Class
First Class (User)
@Controller
@RequestMapping("users")
@SessionAttributes("activeuser")
public class UserController {
....
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String loginUser(HttpServletRequest request,Model model, @ModelAttribute("userlogininfo") User loginuser,
BindingResult result, SessionStatus status) {
User activeuser = userService.checkuserlogin(loginuser.getUsername(), loginuser.getPassword());
if (activeuser!=null) {
request.getSession().setAttribute("activeuser", activeuser);
return "redirect:/home";
} else
return "redirect:/index";
}
Second Class(bank)
@Controller
@RequestMapping("banka")
@SessionAttributes("activeuser")
public class BankController {
....
@RequestMapping(value = "/save", method = RequestMethod.POST)
public String saveBanka(HttpServletRequest request, @ModelAttribute("banka") Banka banka, BindingResult result,
SessionStatus status) {
User user = (User) request.getSession().getAttribute("activeuser");
banka.setUser(user);
bankService.insert(banka);
return "redirect:/home";
}
}
Second Class is return null value from "(User) request.getSession().getAttribute("activeuser")"
Thanks in advance for your help.
Upvotes: 0
Views: 2998
Reputation: 5232
Add your attribute to model (instead of request.getSession().setAttribute("activeuser", activeuser);
)
model.addAttribute("activeuser", activeuser);
Make sure activeuser is Serializable.
Upvotes: 1