我有这样的Portlet控制器。在这里,我将变量绑定到Session。之后,它重定向到另一个控制器并呈现jsp。
@SessionAttributes({"attrName"})
public class Controller{
public void manage(ModelMap modelMap) {
modelMap.addAttribute("attrName", true)
response.sendRedirect(URL_CONTROLLER_2);
}
}
因此,这会重定向到另一个呈现jsp的控制器。 在我做的jsp中:
alert("${attrName}")
我得到了空。 为什么我无法看到该属性。 即使在我调试并检查控制器#2中的ModelMap时,会话中也不存在属性“attrName”。
答案 0 :(得分:0)
AFAIK这是一种预期的行为,因为@SessionAttributes
不在不同的控制器之间共享。一旦调用下一个控制器,就会从会话中删除以这种方式保存的属性。