Im пытается предотвратить доступ пользователей к специальным страницам с фаселистером. по этой причине им пытаются выяснить, на какой странице они пытаются получить доступ.JSF PhaseListener viewId всегда один за
но моя проблема в том, что я получаю только ту страницу, где раньше. а не фактическая страница.
public void afterPhase(PhaseEvent event)
{
FacesContext fc = event.getFacesContext();
System.out.println("test1" + fc.getViewRoot().getViewId());
}
и здесь же
public void afterPhase(PhaseEvent event)
{
FacesContext fc = event.getFacesContext();
HttpServletRequest request = (HttpServletRequest) fc.getExternalContext().getRequest();
String uri = request.getRequestURI();
System.out.println("uri: " + uri);
}
почему это, и как я получаю ИмяСтраницы пользователь пытается получить доступ? Не то, чтобы они требовали одного шага раньше, или лучше страницы, из которой они идут.
Другими словами, не выполняйте навигацию по страницам POST, а через GET. См. Также http://stackoverflow.com/questions/4317684/when-should-i-use-houtputlink-instead-of-hcommandlink – BalusC