控制者行动之一
@RequestMapping("/user/login")
public String loginPage(String errorMessage, Model model) {
model.addAttribute("errorMessage", errorMessage);
return "/view/loginPage";
}
viewPage.jsp的片段
<div id="alertError">Failed to get data because : ${errorMessage}</div>
拦截器的一个片段
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
User user = (User)session.getAttribute("user")
if ( user == null ) {
response.sendRedirect("/user/login.do");
}
}
是时候解释了。
如果session为null,拦截器会检查会话并重定向到signin页面。我希望在完全重定向后显示消息your session was expired. Please sign in
。
但是在拦截器中,我无法找到将消息传递给loginPage
动作的任何方法。我怎么能这样做?
仅供参考,直接调用loginPage
方法对我来说不是一个答案。
答案 0 :(得分:0)
您可以将邮件作为查询参数传递。
response.sendRedirect("/user/login.do?errMessage=yourMessage");
在控制器方面,它可以被检索为
@RequestMapping("/user/login")
public String loginPage(@RequestParam("errMessage") String errMessage, Model model) {