【问题标题】:Scala Play 2.5 Controller class to serve static HTMLScala Play 2.5 Controller 类提供静态 HTML
【发布时间】:2017-08-30 19:25:15
【问题描述】:

我想从 Scala Play 控制器提供静态文件。我正在寻找可以让我做类似下面这个例子的东西。

注意:这显然行不通。 我很有可能以错误的方式看待问题,但是我不想重定向到app.html

def loadApplication(): EssentialAction = Action.sync { request =>
  val contents = Assets.contentsOf("/public/assets/app.html") //This doesnot return the contents, but that is what I want
  Ok(contents)
}

【问题讨论】:

    标签: scala angular playframework-2.5


    【解决方案1】:

    您可以只使用Assets 并通过它返回内容。不过,您可能需要调整路径:

    class MyController @Inject() (assets: Assets) extends Controller {
    
      def loadApplication(): Action[AnyContent] = Action.async { request =>
        assets.at("/public/assets/", "app.html").apply(request)
      }
    
    }
    

    更多信息可以在文档中找到:https://www.playframework.com/documentation/2.5.x/AssetsOverview#The-Assets-controller

    另请注意,您可以将路由映射到您的资产,而不是从控制器静态引用文件,如下所示:

    GET /assets/*file controllers.Assets.at(path="/public", file)

    【讨论】:

      猜你喜欢
      • 2020-02-08
      • 2012-08-09
      • 2019-09-28
      • 2015-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多