2011-05-15 67 views

回答

16

您可以通過HttpServletRequest#getServletPath()得到它。

${pageContext.request.servletPath} 

您可以使用JSTL functions taglib在需要時提取擴展名。

+0

它給了我像/webinf/views/myPage.jsp,你可以請給我一點幫助如何只提取名稱 – 2011-05-15 12:50:08

+6

好的,您正在使用一個控制的servlet,它轉發到'/ WEB-INF'文件夾中的JSP。使用'$ {requestScope ['javax.servlet.forward.servlet_path']}'來獲取URL在瀏覽器地址欄中顯示的servlet路徑。 – BalusC 2011-05-15 12:52:04

+1

我也可以這樣做:request.getRequestURI()。substring(request.getRequestURI()。lastIndexOf(「/」)+ 1,request.getRequestURI()。lastIndexOf(「。」)); – 2011-05-15 13:13:06

-3

也許你能得到它的JavaScript思想方式,如:

var url = window.location.href; 

然後用字符串的方法來得到當前頁面的名稱。

+1

JavaScript既不是JSP也不是JSTL。 – 2011-05-15 12:23:06

+0

你。你是對的。 – 2011-05-15 12:24:56

0

讓頁面:

<% String pageName = com.kireego.utils.Utils.extractPageNameFromURLString(request.getRequestURI()); %> 

這個助手代碼:

public static String extractPageNameFromURLString(String urlString){ 
     if (urlString==null) return null; 
     int lastSlash = urlString.lastIndexOf("/"); 
     //if (lastSlash==-1) lastSlash = 0; 
     String pageAndExtensions = urlString.substring(lastSlash+1); 
     int lastQuestion = pageAndExtensions.lastIndexOf("?"); 
     if (lastQuestion==-1) lastQuestion = pageAndExtensions.length(); 
     String result = pageAndExtensions.substring(0,lastQuestion); 
     return result; 
    }