Próbuję przekierować na stronę, na której użytkownik próbował się zalogować.Jak uzyskać adres URL żądania?
Znaczy, JakaśStrona → Zaloguj się → JakaśStrona
wiem to;
W LoginAction
HttpServletRequest request = ServletActionContext.getRequest();
String url = request.getServletPath();
setUrl(url);
W struts.xml
<action name="LoginPro" method="login" class="LoginAction">
<result type="redirect">${url}</result>
<result name="input" type="tiles">login.error</result>
</action>
Ale to nie działa. Żądanym adresem URL jest zawsze "LoginPro", który obsługuje proces logowania. Gdy użytkownik kliknie przycisk logowania, strona przechodzi do LoginPro. Tak więc URL żądania to zawsze loginPro ...
Wygląda na to, że tak; strona logowania → login → loginPro → LoginAction (żądanie jest loginem ..) → loginPro
Jak mogę przekierować użytkowników na stronę, na której próbowali się zalogować?
Czy można dołączyć ukryte dane wejściowe lub adresy URL na każdej stronie, która zostanie przekazana do akcji logowania? Jego wartością może być bieżąca strona, a następnie możesz ustawić przekierowanie '$ {url}' z niego. – Pat
Próbowałem Twojej opcji .. Dodaję <% = request.getServletPath()%> w JSP logowania, a jej wartość jest taka ... /MyContextPath/tiles/MyTilesLayout.jsp ... Nie wiem, ale to jest w jakiś sposób związane z kaflami. – Deckard