2017-08-30 8 views
0

Scala Playコントローラから静的ファイルを提供したい。私は以下の例のような何かをすることを可能にする何かを探しています。Scala Play 2.5静的なHTMLを提供するコントローラクラス

注:これは明らかに機能しません。 それは私が間違った方法で問題を見ていている可能性が高いです、しかし私は、あなただけのAssetsを使用し、その経由でコンテンツを返すことができ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) 
} 

答えて

1

にリダイレクトする必要はありません。あなたはしかし、パスを微調整する必要がある場合があります:

詳しい情報は、マニュアルに記載されていて

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 /資産/ * controllers.Assets.atファイル(パス= "/パブリック"、ファイル)

+0

'.apply(リクエスト)'は何かI行方不明だった!ありがとう – codeCruncher

関連する問題