我需要使用FacesContext
在JSF中获取重定向的URL或ID。对于当前的URL,我正在使用。
String currentPage = FacesContext.getCurrentInstance().getViewRoot().getViewId();
答案 0 :(得分:14)
您可以通过the referer
header获得最近的ExternalContext#getRequestHeaderMap()
:
String referrer = externalContext.getRequestHeaderMap().get("referer");
// ...
您应该记住,这是一个客户端控制的值,因此可以从客户端完全欺骗(即最终用户可以轻松编辑甚至删除它)。
即便如此,有时客户端应用程序也不会发送它。有关概述,请参阅此问题:In what cases will HTTP_REFERER be empty。
根据功能要求,您最好手动将其作为请求参数传递,或将其存储在视图或会话范围内。