我对Spring MVC并不是很有经验,我有这样的感觉是微不足道的(好吧,在ASP.NET中它几乎是),但我找不到任何东西这个解决方案,所以我不得不问。春季控制器方法之前的会话检查
说我有不同的控制器,所有这些检查自己的东西,在每一个方法...
@Controller
public class FirstController {
@RequestMapping("/foo")
public String foo(HttpSession s) {
if(!s.getAttribute("something").equals("some stuff"))
return "redirect:home";
return "foo";
}
@RequestMapping("/bar")
public String bar(HttpSession s) {
if(!s.getAttribute("something").equals("some stuff"))
return "redirect:home";
return "bar";
}
}
@Controller
public class AnotherController {
@RequestMapping("/john")
public String john(HttpSession s) {
if(Integer.parseInt(s.getAttribute("somethingElse")) == 42)
return "redirect:home";
return "john";
}
@RequestMapping("/doe")
public String doe(HttpSession s) {
if(Integer.parseInt(s.getAttribute("somethingElse")) == 42)
return "redirect:home";
return "doe";
}
}
有没有办法实际调用之前让每一个控制器做“的事情”是什么控制器“应该做。因此,控制器可以简单地是这样的:
public String foo() { return "foo"; }
,而我知道,在后台的实际方法触发关闭之前如果正在调用语句。
任何简短的示例或文档链接(或几乎任何适合此请求的内容)都非常值得欢迎!
我会研究它,谢谢! – NemanjaT