Вы можете использовать концепцию Относительный URL здесь ...
Если вы не хотите использовать javascript, вы можете создать метод Java на своей странице jsp, предпочтительно на обычной странице jsp, такой как init.jsp, и поместить следующий метод:
<%!
private String _getRelativePath(String cURL) {
if (Validator.isNull(cURL)) {
return cURL;
}
if (cURL.startsWith(Http.HTTP)) {
int pos = cURL.indexOf(
StringPool.SLASH, Http.HTTPS_WITH_SLASH.length());
cURL = cURL.substring(pos);
}
return cURL;
}
%>
Вы можете вызвать этот метод в своем URL, и он вернет строку, содержащую путь и параметры.
Например; если вы передаете CURL как
http://localhost:8080/web/guest/home?p_p_id=58&p_p_lifecycle=1&p_p_state=pop_up&p_p_mode=view&_58_struts_action=%2Flogin%2Flogin
тогда он вернется
/web/guest/home?p_p_id=58&p_p_lifecycle=1&p_p_state=pop_up&p_p_mode=view&_58_struts_action=%2Flogin%2Flogin
Также вы можете использовать themeDisplay.getURLPortal () метод для разделения абсолютного URL, чтобы получить из него требуемый относительный URL.
<%!
private String _getRelativePath(String cURL, ThemeDisplay themeDisplay) {
if (Validator.isNull(cURL)) {
return cURL;
}
String [] urlArr = cURL.split(themeDisplay.getURLPortal());
return urlArr[1];
}
%>
Этот механизм удовлетворит ваше требование.