【问题标题】:get value from a session Object从会话对象中获取值
【发布时间】:2017-05-04 13:51:20
【问题描述】:

我有一个带有构造函数、getter 和 setter 的 User bean 类

public class User {

    private String username;
    private String password;
}

我有一个登录用户的控制器

@PostMapping("/login")
    public String login(@ModelAttribute User user,Model model){
        model.addAttribute("session", user);
        return "index1";
    }   

同一个 index1 页面还有一个演示映射来检查会话

@GetMapping("/find")
public String find(Model model){
    return "index1";
}

在 jsp 页面中,我无法检查会话对象中填充的用户

<%@ page errorPage="index.jsp" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>

<html>
<head>
<title>Login Page</title>

</head>
<body>

    <h1>Login</h1>
    <c:if test='${sessionScope.session.user} == "user"'>
        <% session.invalidate(); %>
    </c:if>
    <p>Hello ${sessionScope.session.password}</p>

</body>
</html>

我正在使用 Spring 的 @sessionattribute 来使用会话值,并且我的会话对象名称是 session 。

当用户是用户时如何使会话无效,它总是为空,请帮助。

如何获取存储在会话中的对象内部的值

这是一个测试会话处理的演示

【问题讨论】:

  • 你试过test='${sessionScope.session.username} == "user"'吗?
  • 它在那里列出它没有工作在那里

标签: java spring-mvc session session-variables httpsession


【解决方案1】:

以下对您不起作用,

@PostMapping("/login")
    public String login(@ModelAttribute User user,Model model){
        model.addAttribute("session", user);
        return "index1";
    } 

因为首先您没有在ModelAndView 中设置任何内容,而是在model 对象中设置任何内容,一旦您移动到index1 视图,该对象将是nullified

你需要设置if如下,

   @PostMapping("/login")
    public ModelAndView login(@ModelAttribute User user, Model model, HttpServletRequest request){
         ModelAndView modelAndView = new ModelAndView();
    modelAndView.addObject("session", user);
    modelAndView.setViewName("index1");
    return modelAndView;
    } 

【讨论】:

  • 我正在使用 Spring 的 @sessionattribute 我的会话对象名称是 session ,我在问题中提到了这一点。
  • 请告诉我你是如何使用@sessionattribute of spring的
  • 在控制器顶部使用它,例如 @sessionattributes("session")
猜你喜欢
  • 2014-08-05
  • 1970-01-01
  • 2020-09-26
  • 1970-01-01
  • 2017-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多