【发布时间】:2015-09-06 18:26:38
【问题描述】:
在我的 JSF Facelets 页面中,我知道我可以使用
#{request.requestURL}
获取完整的 URL 以构建可导出的链接等。但是,我有一个 @ApplicationScoped bean,我需要基本 URL(即“http://dnsname/app”)用于报告和其他数据。是否有一种标准方法可以访问 web-app 容器以获取此信息?
【问题讨论】:
在我的 JSF Facelets 页面中,我知道我可以使用
#{request.requestURL}
获取完整的 URL 以构建可导出的链接等。但是,我有一个 @ApplicationScoped bean,我需要基本 URL(即“http://dnsname/app”)用于报告和其他数据。是否有一种标准方法可以访问 web-app 容器以获取此信息?
【问题讨论】:
直到第一个 HTTP 请求被触发。域/主机/基础是完全独立于 Web 应用程序配置的(在应用服务器和/或代理服务器上,如果有的话)。如果不能在第一个 HTTP 请求期间将其延迟设置为应用程序范围的变量,例如servlet request listener 或 servlet filter 或者可能在该应用程序范围 bean 的延迟加载 getter 中,那么您需要通过例如在 Web 应用程序外部配置它系统属性、VM参数、属性文件等
【讨论】: