java - Assets 反向路由中的动态文件路径

标签 java scala playframework playframework-2.0

我正在尝试使用反向路由来访问静态资源:

@routes.Assets.at("path", "file")

但是我也想将文件定义为动态部分,例如:

@for(c <- models.WebContent.find.all) {
  <img src="@routes.Assets.at("/contentfiles/useruploads", "@c.picture1")">
}

上面的语句会生成 HTML 代码:

   <img src="/contentfiles/userupload/@c.picture1">

您可以看到动态部分 @c.picture1 不被解释为动态文件名,而是被解析为原始文本,导致链接损坏。我期望的是两个动态部分都被解释为动态结果,例如:

<img src="/contentfiles/userupload/1776446515.jpg">

如何定义它以便两个动态语句都被解析为动态? PS:我尝试将其转义为 @@c.picture 或 $@c.picture,但没有成功

谢谢

最佳答案

当使用变量作为函数参数时,请使用它,不带 @ 字符,也不用引号括起来,否则,您可以将其用作...字符串

<img src="@routes.Assets.at("/contentfiles/useruploads", c.picture1)">

与条件相同:

Use:
@if(foo==bar){...}

NOT
@if(@foo==@bar){...}

关于java - Assets 反向路由中的动态文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26069616/

相关文章:

scala - 戏剧中的 Specs2 测试给了我“找不到 org.specs2.main.CommandLineAsResult 类型的证据参数的隐式值

scala - Play (Scala)、Reactivemongo 和多个数据库

java - 如何摆脱 iText XMLWorker 中的 Helvetica?

scalacheck 任意隐式和递归生成器

java - Guice 的全局注入(inject)器

scala - value foreach 不是 Int 的成员吗?

scala - Akka 流 : how to get flow names in metrics reported by kamon-akka

scala - Play Framework : how to monitor number of active sessions with standard session API?

java - Spring CORS。在允许的来源中添加模式

java - C# WCF 客户端绑定(bind) 互操作 Blackboard Java WS-Security over HTTPS 传输