springboot @SessionAttributes

服务器token

// User.java
public class User{
    private String email;
    private String userName;
    private Integer userId;
    private String mobile;

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getEmail() {
        return email;
    }


    public void setEmail(String email) {
        this.email = email;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserName() {
        return userName;
    }
}
// Constant.java
public final class Constant {
    /**
     * 用户SESSION标识
     */
    public static final String USER_SESSION_NAME      = "user";
}
// UserInfoController.java

@Controller
@SessionAttributes(Constant.USER_SESSION_NAME)
public class UserInfoController{
	
	@RequestMapping(value = Path.USER_LOGIN, method = RequestMethod.POST)
    public String login(final Model model){
   			User user = new User();
   			...
            model.addAttribute(Constant.USER_SESSION_NAME, user);
    		// 设置token
    }
    
    @RequestMapping(value = Path.USER_RECOMMENDATION_DATA, method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> recommendationNeedsDatas(@ModelAttribute(Constant.USER_SESSION_NAME)final User user){
    	...
    }
    // 使用token  
}

核心:
1、@SessionAttributes(Constant.USER_SESSION_NAME) 标记表示支持token
2、设置token

model.addAttribute(Constant.USER_SESSION_NAME, user);

3、使用token

// 在请求参数中传入
@ModelAttribute(Constant.USER_SESSION_NAME)

猜你喜欢

转载自blog.csdn.net/xielinrui123/article/details/88116699
今日推荐