我有两个控制器继承自一个,MainController。每个控制器的范围都是“会话”。在 MainController 我有一个变量:索引,只需遵循:
@Controller
public class C1 extends MainController {
@RequestMapping(value="/action1")
public void Action1() {
System.out.print(Index);
}
}
@Controller
public class C2 extends MainController {
@RequestMapping(value="/action2")
public void Action2() {
System.out.print(Index);
}
}
public class MainController {
protected int Index = 0;
@ModelAttribute("BeforeRequest")
public void BeforeRequest(HttpServletRequest request) {
if (request.getRequestURI().contains("action1")) {
Index++;
}
}
}
当“Action1”运行时,MainController 中的 Index 增加 1(ModelAttribute 注释)。在 C1 中,变量每次请求都增加 1,但在 C2 中仍为 0(如定义)。
是否可以将索引的当前值“注入”到 C2?