获取jsp当前页面

时间:2016-10-05 12:36:05

标签: html jsp url servlets

我有一个页脚,其中有一些链接在同一个标​​签页中打开,但我希望每当用户在付款页面上时,都会在新标签页中打开它们。 我决定使用boolean条件,只要用户在/payment.jsp上,该条件就变为真。我不确定的是如何获取当前页面?

<% boolean paymentPage = false; %>

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

在我看来,最好的方法是使用HttpServletRequest界面。我希望我能得到关于如何在我的代码中实现它的建议。我认为它看起来像这样?

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

3 个答案:

答案 0 :(得分:2)

根据您的假设(逻辑),函数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
     }
    }
%>

答案 1 :(得分:0)

在JSP文件中:

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

答案 2 :(得分:0)

想出来。

<% boolean paymentPage = false; %>

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

<% if(paymentPage ){ %>
        <new tab>
<% } else{ %>
        <same tab>
<% } %>
相关问题