如何在视图页面中使用Play框架和Scala显示图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在视图页面中使用Play框架和Scala显示图像相关的知识,希望对你有一定的参考价值。

使用Play框架,我试图在视图页面中显示图像friend_request.png

这是我的代码,但图片没有显示:

<img src=@("images/friend_request.png") width="28" height="22" />
答案

我假设你想要包含静态图像,因为你在谈论Scala,我假设你正在使用Play Framework 2。

图像在标准项目布局中的适当位置应为public/images/friend_request.png。然后你可以参考图像:

<img src="@routes.Assets.at("images/friend_request.png")" width="28" height="22" />

有关资产(缓存时间等)的更多信息,请参阅Play Framework documentation

另一答案

Skyr's answer不适用于我的Play版本(2.4.2)。使用它会产生以下编译错误:

value at不是controllers.ReverseAssets的成员

咨询了documentation后,这对我有用:

<img src="@routes.Assets.versioned("images/yourImage.png")">

yourImage.pngpublic/images


如果您想通过缓存和压缩图像(以及Web应用程序的所有其他资源)来加速页面加载,请尝试以下操作:

确保您的plugins.sbt包含以下条目:

addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.7")
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.1.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-gzip" % "1.0.0")

然后,在你的build.sbt中,添加:

// Apply RequireJS optimizations, create a checksum, and zip each asset
pipelineStages := Seq(rjs, digest, gzip)

以上是关于如何在视图页面中使用Play框架和Scala显示图像的主要内容,如果未能解决你的问题,请参考以下文章

将 bootstrap.css 文件链接到 Play 框架中的 scala.html 页面

如何使用`flatMap`和`map`填充Play框架+ Scala上的`list`?

如何使用 SBT 原生打包器部署 Scala Play 框架 API

如何解析JSON使用Play框架

如何将 IntelliJ 与 Play Framework 和 Scala 一起使用

新视图 .scala.html 到 .class 的编译问题