如何从jsp请求对象获取基本URL? http:// localhost:8080 / SOMETHING / index.jsp,但是我想要直到index.jsp的那部分,在jsp中怎么可能?
因此,您想要 基本URL 吗?您可以在servlet中获得它,如下所示:
String url = request.getRequestURL().toString(); String baseURL = url.substring(0, url.length() - request.getRequestURI().length()) + request.getContextPath() + "/"; // ...
或在JSP中,如<base>,在JSTL的帮助下:
<base>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <c:set var="req" value="${pageContext.request}" /> <c:set var="url">${req.requestURL}</c:set> <c:set var="uri" value="${req.requestURI}" /> ... <head> <base href="${fn:substring(url, 0, fn:length(url) - fn:length(uri))}${req.contextPath}/" /> </head>
请注意,当它已经是默认端口号(例如80)时,该端口号将不包括java.net.URL在内。
java.net.URL