Scala Play 2.5 控制器 class 静态服务 HTML
Scala Play 2.5 Controller class to serve static HTML
我想从 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)
}
您可以通过它使用 Assets
和 return 内容。不过,您可能需要调整路径:
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)
我想从 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)
}
您可以通过它使用 Assets
和 return 内容。不过,您可能需要调整路径:
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)