working not mvc getcontextpath java jsp el

java - mvc - pagecontext request contextpath in jsp not working



¿Qué hace exactamente este lenguaje de expresión ${pageContext.request.contextPath} en JSP EL? (3)

El pageContext es un objeto implícito disponible en JSP. La documentación de EL dice

El contexto para la página JSP. Proporciona acceso a varios objetos, incluidos:
servletContext: ...
sesión: ...
solicitud: ...
respuesta: ...

Por lo tanto, esta expresión obtendrá el objeto HttpServletRequest actual y obtendrá la ruta de contexto para la solicitud actual y le /JSPAddress.jsp para crear un enlace (que funcionará incluso si se accede a la ruta de contexto de este recurso en los cambios).

El objetivo principal de esta expresión sería mantener los enlaces "relativos" al contexto de la aplicación y aislarlos de los cambios en la ruta de la aplicación.

Por ejemplo, si se accede a su JSP (llamada thisJSP.jsp ) en http://myhost.com/myWebApp/thisJSP.jsp , la ruta del myWebApp será myWebApp . Por lo tanto, el enlace href generado será /myWebApp/JSPAddress.jsp .

Si algún día, decide implementar el JSP en otro servidor con la ruta de contexto de corpWebApp , la href generada para el enlace cambiará automáticamente a /corpWebApp/JSPAddress.jsp sin ningún trabajo de su parte.

Tengo una aplicación web, donde tengo diferentes etiquetas de anclaje de navegación, como Home, Profile y etc.

Lo que quiero:

Cuando presiono etiquetas de anclaje como inicio o perfil. Solo quiero asegurarme de que el usuario actual obtenga su información en esa página de etiquetas / JSP.

Ejemplo de muestra que estoy intentando:

<a href="${pageContext.request.contextPath}/JSPAddress.jsp">Profile</a>


Incluya <%@ page isELIgnored="false"%> en la parte superior de su página jsp.


use request.getContextPath() lugar de ${pageContext.request.contextPath} en el lenguaje de expresiones JSP.

<% String contextPath = request.getContextPath(); %> out.println(contextPath);

salida: willPrintMyProjectcontextPath