0

我有一个 Spring servlet,它需要在不同的方法之间共享一个实例变量:

@Controller
@RequestMapping("VIEW")
public class MyController{

    private RenderRequest request;

    @RenderMapping
    public String renderPage(final RenderRequest request) {
        this.request= request;
        return "mypage";
    }

@ResourceMapping(value = "getItems")
    public void getItems() {

          //Code to get and return items which uses the RenderRequest object set in method renderPage
}

}

渲染页面时始终调用 renderPage 方法,因此 RenderRequest 实例将始终设置且不能为空。我的想法正确吗?我担心 RenderRequest 实例会以某种方式变为 null ?

4

1 回答 1

0

当该renderPage方法被调用时,它将设置值RenderRequest

@RenderMapping
public String renderPage(final RenderRequest request) {
        this.request= request;
        return "mypage";
}

现在,由于只有一个MyController实例(因为您没有为您的 bean 定义任何范围,默认为单例范围),您将始终拥有RenderRequest可用于下一个方法调用的属性。

于 2013-11-13T16:29:45.907 回答