找出哪个XHTML页面称为托管bean的方法

时间:2013-12-13 18:59:25

标签: jsf

我有托管bean,并希望根据调用它的页面在其中一个方法中划分逻辑,是否存在某种方式来实现此目的?

2 个答案:

答案 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中,当页面使用

进行导航时,您可以发送参数

我希望这会对你有所帮助