У меня есть такая композиция:
<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:panelGroup rendered="#{empty userc.userb.user.id}">
<h:panelGrid columns="2" >
<h:outputLink value="system/register.xhtml">Register</h:outputLink>
<h:outputLink value="system/login.xhtml">Login</h:outputLink>
</h:panelGrid>
</h:panelGroup>
</ui:composition>
Если пользователь нажимает Login
, страница перенаправляется на system/login.xhtml
, что правильно, но если пользователь, нажмите Login
еще раз,он перенаправлен на system/system/login.xhtml
.Я знаю решение для этого, которое BalusC помогло мне давным-давно:
<base href="#{fn:replace(request.requestURL, fn:substring(request.requestURI, 1, fn:length(request.requestURI)), request.contextPath)}/" />
Это решает мою проблему, но если у меня есть несколько экземпляров ManageBean, когда я щелкаю по какой-либо ссылке на компонент, он становится недействительным.
Как сохранить URL-путь на каждой странице ссылки и сохранить сеанс в управляемых компонентах?