我有一个页脚,其中有一些链接在同一个标签页中打开,但我希望每当用户在付款页面上时,都会在新标签页中打开它们。
我决定使用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"); %>
<% } %>
答案 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>
<% } %>