2011-05-15 21 views

Respuesta

16

Lo puede obtener por HttpServletRequest#getServletPath().

${pageContext.request.servletPath} 

Puede utilizar el taglib JSTL functions para extraer la extensión siempre que sea necesario.

+0

me da algo así como /webinf/views/myPage.jsp, puede usted por favor, dame un poco de ayuda de cómo para extraer el nombre solo –

+6

Ah OK, está utilizando un servlet controlador que reenvía a los JSP en la carpeta '/ WEB-INF'. Utilice '$ {requestScope ['javax.servlet.forward.servlet_path']}' en su lugar para obtener la ruta del servlet de la URL tal como aparece en la barra de direcciones del navegador. – BalusC

+1

pude hacerlo de la siguiente manera también: request.getRequestURI(). Substring (request.getRequestURI(). LastIndexOf ("/") + 1, request.getRequestURI(). LastIndexOf (".")); –

-3

tal vez usted puede conseguir pensó Javascript manera, como:

var url = window.location.href; 

a continuación, utilizar métodos de string para obtener el nombre de la página actual.

+1

JavaScript no es JSP ni JSTL. –

+0

ye. tienes razón. –

0

para obtener la página:

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

y este código ayudante:

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; 
    } 
Cuestiones relacionadas