我试图在我的拦截器中使用@aroundInvoke,检查一些validationX以继续执行该方法,否则将用户重定向到特定的JSF页面。
@AroundInvoke
public Object myInterceptor(InvocationContext invocation) throws Exception {
if(validationX){//it passes the validation so proceed
return invocation.proceed();
}else{//it doesnt passes the validation so go to
//DO SOMETHING TO REDIRECT TO SPECIFIC JSF
}
}
我试过了:
- 使用“JSF?faces-redirect=true”返回字符串 ----- 我得到转换错误(字符串到方法应该返回的任何内容)。
- FacesContext.getCurrentInstance().getExternalContext().dispatch("/JSF.jsf"); ----- 我用 getCurrentInstance 方法得到 nullPointerException。
- FacesContext.getCurrentInstance().getExternalContext().redirect("/JSF.jsf"); --------同样的NullPointerException。
- 使用 HttpServletRequest 和 HttpServletResponse 生成响应,但我得到 NullPointer 异常。
提前致谢!