如何在不使用 servets 或过滤器的情况下禁用(在某些情况下)对由单个 bean 控制的组页面的直接访问?现在我有这样的事情:
public SomeBeanController() {
try {
FacesContext.getCurrentInstance().getExternalContext().redirect("/somewhere.xhtml");
} catch (Exception e) {
e.printStackTrace();
}
throw new IllegalArgumentException("Direct access is disabled...");
}
public SomeBeanController(Integer someId) {
this.someId = someId;
}
默认的 bean 构造函数会重定向到更合适的页面。只有当我们需要访问页面组时,才会从另一个 bean 调用另一个构造函数。
谢谢!