Как обновить атрибуты сеанса весной MVC? Я попробовал этот код:Как обновить атрибут сеанса в Spring MVC
@Controller
@RequestMapping("/panel")
@SessionAttributes({"access"})
public class AdminController extends ErrorsController {
private final static String SECURE_ADMIN_PASS = "123123";
@ModelAttribute("access")
public Boolean getAccess() {
return false;
}
@RequestMapping(value = {"/", ""}, method = RequestMethod.GET)
public String adminGeneralPage(@ModelAttribute("access") boolean access) {
if (!access) return "adminPages/enterPassword";
return "adminPages/home";
}
@RequestMapping(value = "/password", method = RequestMethod.POST)
public String enterPassword(@ModelAttribute("access") boolean access,
@RequestParam("password") String password, HttpServletRequest request) {
if (password.equals(SECURE_ADMIN_PASS)) {
request.getSession().setAttribute("access", true);
return "adminPages/home";
}
return "adminPages/enterPassword";
}
}
Мой тест:
-open главная страница
-автоматически перенаправлять на страницу с паролем форме
-Enter пароль
-автоматически перенаправлять на главную страницу, все хорошее, открытие страницы
-refresh страница
-Снова спрос пароль
Это не то, что '@ SessionAttribute' предназначен для. Просто используйте атрибуты сеанса, как обычно для этого. –