我有托管bean,并希望根据调用它的页面在其中一个方法中划分逻辑,是否存在某种方式来实现此目的?
答案 0 :(得分:8)
UIViewRoot#getViewId()
可以使用此功能。
String viewId = FacesContext.getCurrentInstance().getViewRoot().getViewId();
但是,我必须说这有点气味。根据您认为检查调用XHTML页面将是正确解决方案的具体功能要求,可能有更好的方法来实现具体的功能需求。
答案 1 :(得分:1)
我认为在两种方法中,第一种是从Http请求中获取referer头,它可能具有来自请求页面的url
FacesContext.getCurrentInstance().getExternalContext().getRequestHeaderMap().get("referer")
其他选项是导航发送参数,例如在查询字符串中添加viewId作为参数,在jsf-2中,当页面使用
进行导航时,您可以发送参数我希望这会对你有所帮助