比如我的浏览器打开的网址是
https://mmm.corp.com:81/cc.nsf/%24%24OpenDominoDocument.xsp?documentId=3A47BD1C3BF869DD48257C4C001EBBB0&action=openDocument
如何获得这个81?
困了好久了。求解哈。
以下我试过,都只能获得
https://mmm.corp.com/cc.nsf/%24%24OpenDominoDocument.xsp?documentId=3A47BD1C3BF869DD48257C4C001EBBB0&action=openDocument
都拿不到81端口。
有:
context.getUrl().toString()
facesContext.getExternalContext().getRequest().getRequestURL()
分不够,再加。
------解决方案--------------------
试试这个: facesContext.getExternalContext().getRequest().getServerPort();
------解决方案--------------------
那真是它的系统Bug了, 你只好在客户端页面里计算(用window.location.href字符串计算)出来,并把值写入一个字段,需要把这个字段放到一个你需要提交的区域(整个Form或部分刷新区域),比如,这个字段绑定到viewScope.ServerPort,然后你的其它代码引用viewScope.ServerPort。
------解决方案--------------------
xpages应该不会有这样的bug。你是不是通过代理服务器或防火墙端口映射访问的domino? 如果domino server本身确实开启了80作为http端口,那么用server side JS只能取到80,想取到81只能用client side JS。