获取Play应用程序的基本URL

时间:2014-01-24 11:03:05

标签: scala playframework playframework-2.2

我想获取应用程序的当前基本URL,该应用程序通常位于localhost http://localhost:9000/和服务器http://mydomain.com。如果将来我可以开始使用https。

我该怎么做?

3 个答案:

答案 0 :(得分:4)

您使用的是什么版本的Play Framework?

如果您使用的是Play 1.x,则应使用application.conf变量手动指定应用程序的基本URL。这是我为我的应用程序检索基本URL的方式。例如:

application.baseUrl=http://localhost:9000
%devcloud.application.baseUrl=http://dev-url.com
%prod.application.baseUrl=http://prod-url.com

使用Play Framework 2.x,您可以使用其他配置文件(因此变量值取决于环境 - prod,dev,test ...),如下所述:http://www.playframework.com/documentation/2.2.x/ProductionConfiguration

如果您不想依赖Action或Controller,这些解决方案尤其有用。否则,您可以使用操作中的请求检索绝对URL。

答案 1 :(得分:2)

然后尝试获取baseUrl: play.Play.application().configuration().getString("application.baseUrl")

答案 2 :(得分:0)

目前play.Play.application().configuration().getString("application.baseUrl");已在播放最新版本中进行了展示。所以这是问题的最新解决方案:

首先将配置注入类中:

   @Inject
    Configuration configuration;

然后使用它:

String baseUrl = configuration.getString("application.baseUrl");