如何绑定控制器的JSP页面和会话范围字段?

时间:2014-03-17 15:35:56

标签: java spring jsp spring-mvc

我有一个带范围注释的简单控制器。

@Controller
@Scope("session")
@RequestMapping("/")
public class HelloController {

    private User user = new User("Bob");

    @RequestMapping(method = RequestMethod.GET)
    public String printWelcome() {
        return "hello";
    }
}

和简单的jsp页面

<html>
<body>
    <h1>Y=${sessionScope.user}</h1>
    <h1>Z=${user}</h1>
</body>
</html>

但是当我试图运行这段代码时,我什么都没得到。结果是空的。我不想使用User的单个bean,我也不想将HttpSession的对象传递给控制器​​中的方法或HttpServletRequest对象以从中检索会话。有没有使用某些注释(@SessionAttributes除外)将对象从控制器传递给jsp的解决方案?

1 个答案:

答案 0 :(得分:1)

我不明白为什么你会感到惊讶。代码中{1}}中唯一的东西是HttpSession bean。

仅仅因为该对象的字段类型为@Controller,并不意味着User中会有User个属性。

  

结果为空。我也不想使用HttpSession的单个bean   不喜欢将User的对象传递给控制器​​中的方法或   用于从中检索会话的HttpSession对象。有没有   使用某些注释(HttpServletRequest除外)传递的解决方案   从我的控制器对象jsp?

您基本上列出了所有选项。使用其中任何一个。