在 Java 中获取应用程序的基础 url

Get the base url of application in Java

有没有更好的方法让 XPages/Java 中的当前应用程序的 ref 的基数 URL 得到?

FacesContext facesContext = FacesContext.getCurrentInstance();
XSPContext context = XSPContext.getXSPContext(facesContext);
XSPUrl url = context.getUrl();
String host = url.getScheme() + "://" + url.getHost() + "/" + url.getPath();

也许更好一点:

String serverPathNsf = url.getAddress().replace(url.getSiteRelativeAddress(context), "")

url.getAddress() 给你服务器 + nsf + xsp 的路径

    http://yourServer/pathTo.nsf/your.xsp

url.getSiteRelativeAddress(context) 给你 xsp

    /your.xsp

url.getAddress().replace(url.getSiteRelativeAddress(context), "") returns 服务器 + nsf 的路径

    http://yourServer/pathTo.nsf