日期:2014-05-16  浏览次数:20310 次

日记 - jsp
环境:idea13.1.1   jdk1.6    tomcat6.0.2.9
框架:springMVC+maven+hibernate
    ${pageContext.request.contextPath}取不到值,为空字符串问题。
    context是有tomcat创建,${pageContext.request.contextPath}之所以得不到值,是因为tomcat创建的上下文中该path就是空的。
    我在idea中默认设置的path就是“/”。后该为“/cosmetics”,从此url的地址就编程了http://localhost:8080/cosmetics/。
   
    这之后又因需在多处引用${pageContext.request.contextPath},从而想要将其简化。、
<c:set var="url">${pageContext.request.requestURL}</c:set>
    <base href="${fn:substring(url, 0, fn:length(url) - fn:length(pageContext.request.requestURI))}${pageContext.request.contextPath}/" />
    将上诉语句放在head里加载,同时上诉语句需要下列支持:
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

    那么好处是什么呢?
    此后的标签里的引用都会被默认添加一个${pageContext.request.contextPath}
例如之前我的引用为“${pageContext.request.contextPath}/login”,那么现在的引用为
“login”