画像をロードするためにプレイフレームワークで @routes.Assets.at を使用しています
お気に入り
しかし、この logo.png が利用可能な場合にのみ、この画像をロードしたいと思います。画像がない場合、空の画像スペースが表示されるためです。
次のような構文はありますか
@routes.Assets.at("public/images", "logo.png").getorelse() のようなものですが、戻り値の型はここでは型オプションではありません。
画像をロードするためにプレイフレームワークで @routes.Assets.at を使用しています
お気に入り
しかし、この logo.png が利用可能な場合にのみ、この画像をロードしたいと思います。画像がない場合、空の画像スペースが表示されるためです。
次のような構文はありますか
@routes.Assets.at("public/images", "logo.png").getorelse() のようなものですが、戻り値の型はここでは型オプションではありません。
画像には幅、高さ、および alt 属性が必要なので、あなたのアプローチが正しいとは思えません。そのデータがある場合は、画像が存在することを既に知っているはずです。
テンプレート img.scala.html を作成できます。
@(path: String, width: Int, height: Int, alt: String = "")
@import play.api.Play.resource
@import play.api.Play.current
@if(resource("public/" + path).isDefined) {
<img src="@routes.Assets.at(path)" width="@width" height="@height" alt="@alt"/>
}
そして、このように使用します:
<hr>
@img("images/favicon.png", 16, 16, "play framework logo")
<hr>
@img("images/not-existing.png", 16, 16, "foo bar")
<hr>
したがって、次のようになります。
<hr>
<img src="/assets/images/favicon.png" width="16" height="16" alt="play framework logo"/>
<hr>
<hr>
プロジェクト: https://github.com/schleichardt/stackoverflow-answers/tree/so18605473