3angle
3angle

Reputation: 11

Spring MVC Session Attribute

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

Answers (1)

fg78nc
fg78nc

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

Related Questions