Я использую PrettyFaces в своем приложении JSF. Для доступа к некоторым страницам сайта требуется проверка подлинности, поэтому я использую прослушиватель (представление prerender), который проверяет, вошел ли пользователь в систему. Поэтому, если пользователь пытается получить доступ к / foo (/foo.jsf перед PrettyFaces), я перенаправляю чтобы залогиниться.
Однако я хочу перенаправить их в исходное место назначения, поэтому я хочу прикрепить параметр запроса «next», чтобы я вместо этого перенаправлял пользователя в / login? Next = / foo. К сожалению, я не могу получить исходный requestURI из объекта запроса, строка uri в следующем коде - /appname/foo.jsf вместо / appname / foo
ctx = FacesContext.getCurrentInstance().getExternalContext();
HttpServletRequest request = (HttpServletRequest) ctx.getRequest();
String uri = request.getRequestURI();
Есть ли способ получить исходный путь URI?