xpage如何获得当前url的port number端口号。

伏伏 2013-12-25 03:35:04
比如我的浏览器打开的网址是
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()

分不够,再加。
...全文
593 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
伏伏 2014-07-29
  • 打赏
  • 举报
回复
嗯,对的。 我用nginx做的反向代理。 所以说,这个只能写死了。呵呵。
yunfengyang 2014-01-06
  • 打赏
  • 举报
回复
xpages应该不会有这样的bug。你是不是通过代理服务器或防火墙端口映射访问的domino? 如果domino server本身确实开启了80作为http端口,那么用server side JS只能取到80,想取到81只能用client side JS。
fare2000 2013-12-31
  • 打赏
  • 举报
回复
引用 3 楼 joviqqqq 的回复:
[quote=引用 2 楼 fare2000 的回复:] 试试这个: facesContext.getExternalContext().getRequest().getServerPort();
得到的port是80,不是我要的81啊。[/quote] 那真是它的系统Bug了, 你只好在客户端页面里计算(用window.location.href字符串计算)出来,并把值写入一个字段,需要把这个字段放到一个你需要提交的区域(整个Form或部分刷新区域),比如,这个字段绑定到viewScope.ServerPort,然后你的其它代码引用viewScope.ServerPort。
伏伏 2013-12-30
  • 打赏
  • 举报
回复
引用 2 楼 fare2000 的回复:
试试这个: facesContext.getExternalContext().getRequest().getServerPort();
得到的port是80,不是我要的81啊。
fare2000 2013-12-30
  • 打赏
  • 举报
回复
试试这个: facesContext.getExternalContext().getRequest().getServerPort();
伏伏 2013-12-25
  • 打赏
  • 举报
回复
最后没办法,只好把网址端口号写死了。 xpage的这个是个bug吧。

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧