Java EL 在jsp 中查找主机和端口号

Java EL to find host and port number in jsp

我正在尝试使用 EL 在 jsp 页面中找到基础 url(主机、端口、上下文)。 我知道如何在 servlet/jsp 上这样做

    StringBuffer url = request.getRequestURL();
    String uri = request.getRequestURI();
    String ctx = request.getContextPath();
    String base = url.substring(0, url.length() - uri.length() + ctx.length()) + "/";

我在网上搜索并在 Whosebug 上找到了这条关于表达式语言的线索。

    ${pageContext.request.contextPath}

使用它我只能找出应用程序上下文路径。能否请你也帮我找到主机和端口号。

谢谢

${pageContext.request.contextPath} 

只是在请求对象上调用 getContextPath(),以访问您可以执行的其他操作:

${pageContext.request.requestURI} 
${pageContext.request.requestURL} 
${pageContext.request.serverPort}

等这样您就可以像在 servlet 中所做的那样调用任何 getter(不带参数)请求。此外,自 EL 2.2 起,您可以直接调用 EL

中的方法