2016-10-05 8 views
1

У меня есть нижний колонтитул с несколькими ссылками, открытыми на той же вкладке, но я хочу, чтобы они открывались на новой вкладке всякий раз, когда пользователь находится на странице оплаты. Я решил сделать это, используя boolean условие, которое становится истинным всякий раз, когда пользователь находится на /payment.jsp. Что я не уверен в том, как получить текущую страницу?Получить jsp текущую страницу

<% boolean paymentPage = false; %> 

<% if(paymentPage){ %> 
     <new tab> 
<% } else{ %> 
     <same tab> 
<% } %> 

Мне кажется, что лучший способ сделать это состоит в использовании интерфейс HttpServletRequest. Я надеялся, что смогу получить совет о том, как реализовать его в своем коде. Я предполагаю, что это будет выглядеть примерно так?

<% private boolean paymentPageTest (HttpServletRequest request) { %> 
<% return request.getRequestURL.equals("/Payment.jsp"); %> 
<% } %> 

ответ

2

Согласно вашему предположению (Logic) функция paymentPageTest должна быть объявлена ​​в JSP декларации тега, как показано ниже:

<%! 
private boolean paymentPageTest (HttpServletRequest request){ 
    return request.getRequestURL.equals("/Payment.jsp"); 
} 
%> 

использования ниже, чтобы проверить, является ли страница /Payment.jsp

<%! 
    private boolean paymentPageTest(HttpServletRequest request){ 

    String path = ((HttpServletRequest) request).getRequestURI(); 
    if (path.endsWith("/Payment.jsp")) { 
     return true;//new tab 
    }else{ 
     return false;//current tab 
    } 
    } 
%> 
+0

Да, это выглядит чище. К сожалению, это не работает. – Nik

+0

ok, логика должна быть обновлена. Постараюсь построить его. Где вы написали первый код (код в первом блоке кода)? который jsp/файл? Мне нужно его имя. –

+0

Ваше решение работает лучше, чем мое. Спасибо. – Nik

0

В файле JSP:

request.getAttribute("javax.servlet.forward.request_uri") 
0

Выяснил это.

<% boolean paymentPage = false; %> 

<% String str = request.getRequestURL().toString(); %> 
<% if(str == "<url>") {paymentPage = true;} %> 

<% if(paymentPage){ %> 
     <new tab> 
<% } else{ %> 
     <same tab> 
<% } %> 
Смежные вопросы