[英]SessionAttributes not working with spring boot
I have face problem to keep email a live data cross pages via session I have try this 我有问题通过会话保持电子邮件实时数据跨页我试过这个
@Controller
@RequestMapping(value = "/sec")
@SessionAttributes("reset_user_email")
public class SecurityController {}
Receive variable from "/sec/forget" 从“/ sec / forget”接收变量
@RequestMapping(value = "/forget/", method = RequestMethod.POST) public ModelAndView forget_page_d(@ModelAttribute User user, ModelAndView mv) throws NoSuchAlgorithmException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException, NoSuchPaddingException, UnsupportedEncodingException, InvalidAlgorithmParameterException { mv.addObject("user", user); mv.addObject("reset_user_email", user.getEmail()); //etc }
Using reset_user_email
in "/sec/forget/user/a" 在“/ sec / forget / user / a”中使用
reset_user_email
@RequestMapping(value = "/forget/user/a", method = RequestMethod.GET) public ModelAndView forget_page_p(@ModelAttribute String reset_user_email) { ModelAndView mv =new ModelAndView(); mv.setViewName("security/forget_renew"); mv.addObject("user",reset_user_email); System.out.println("a GET user mail = " +reset_user_email);
Console Output : 控制台输出:
a GET user mail =
what is messing to keep my reset_user_email available everywhere in application ? 什么是让我的reset_user_email在应用程序中随处可用?
Thank you in advance 先感谢您
You can manipulate the session attributes by: 您可以通过以下方式操纵会话属性:
including the a HttpSession in the method definition: 包括方法定义中的HttpSession:
@RequestMapping("/request") public ModelAndView getRequest(@ModelAttribute User user, ModelAndView mv, HttpSession session) { mv.addObject("reset_user_email", user.getEmail()); session.setAttribute("reset_user_email", user.getEmail()); String resetUserEmail = session.getAttribute("reset_user_email"); }
Use WebUtils class: 使用WebUtils类:
@RequestMapping("/request") public ModelAndView getRequest(@ModelAttribute User user, ModelAndView mv, HttpServletRequest request) { mv.addObject("reset_user_email", user.getEmail()); WebUtils.setSessionAttribute(request, "reset_user_email", user.getEmail()); String resetUserEmail = WebUtils.getSessionAttribute(request, "reset_user_email"); }
Instead of ModelAndView, Try java.util.Map, try to put session values in Map, by map.put("your session name",value);
尝试java.util.Map,而不是ModelAndView,尝试通过
map.put("your session name",value);
值放在Map中map.put("your session name",value);
and try to get a value by String email=(String)map.get("your session name");
并尝试通过
String email=(String)map.get("your session name");
获取一个值String email=(String)map.get("your session name");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.