显示错误Url的Jsf模板
我正在使用jsf2和RichFaces。我想跟踪用户浏览的每个页面 为此,我创建了Servelet过滤器,它截取被请求的页面。在我的项目中,我使用jsf模板特性,其中页眉和页脚是固定的。在主体部分,我定义了menu.xhtml和一个iframe标记。每当用户单击菜单上的任何链接时,响应都会指向iframe 我的问题是,我没有获得过滤器中请求的页面的正确url 我的过滤器捕捉 下面显示的是过滤器,查找xhtml页面显示错误Url的Jsf模板,jsf,servlets,jsf-2,richfaces,servlet-filters,Jsf,Servlets,Jsf 2,Richfaces,Servlet Filters,我正在使用jsf2和RichFaces。我想跟踪用户浏览的每个页面 为此,我创建了Servelet过滤器,它截取被请求的页面。在我的项目中,我使用jsf模板特性,其中页眉和页脚是固定的。在主体部分,我定义了menu.xhtml和一个iframe标记。每当用户单击菜单上的任何链接时,响应都会指向iframe 我的问题是,我没有获得过滤器中请求的页面的正确url 我的过滤器捕捉 下面显示的是过滤器,查找xhtml页面 chain.doFilter(request, response); HttpS
chain.doFilter(request, response);
HttpSession session = req.getSession(false);
if( null != session && (uri.contains(".xhtml") || null != session.getAttribute("userid"))){
if(null != session.getAttribute("userid")){
String userid = session.getAttribute("userid").toString();
//for saving usage details
if(uri.contains(".xhtml")){
System.out.println(".......Requeted Page.........."+req.getRequestURL().toString());
saveUserUsage(req);
}
}
}
即使选择了菜单中的不同链接,进入过滤器的url仍然是userdeskop.xhtml。独立于单击菜单的相同url的原因可能是:
- 它决定在服务器端交付哪个页面李>
h:outputLink
,它解析为固定URL(有关详细信息,请参阅)-这将与您已经存在的侦听器一起工作
希望能有所帮助……您是否已通过Firebug进行检查,即在单击浏览器中的链接后,是否请求/检索了预期的.xhtml/.jsf页面?我猜,与您单击的内容无关,您的浏览器请求的页面始终是相同的。我在我的tempalte中使用了iframe。在您请求iframe请求/单击按钮后,iframe请求仍然应该由FireBug显示。有什么解决方案可以将url恢复到筛选器中吗@L-Ray查看更新。如果有效的话,给出反馈。。。是的,uptml.view id没有显示完整的url。如果要显示的url是,则只获取xhtml/authentication/userUsageDetails.xhtml any solution@L-Ray
public void afterPhase(PhaseEvent event)
{
FacesContext context = event.getFacesContext();
String viewId = context.getViewRoot().getViewId();
....
}