我有一个Java Play 2.5项目,其目录结构如下:
这或多或少直接来自anatomy of a Play project。
但是,我无法将public
目录中的资源(CSS和图片)链接到main.scala.html
。
我们在routes
文件中有以下路线:
GET /assets/*file controllers.Assets.at(path="/public", file)
我们在main.scala.html
<link rel="stylesheet" href="@Assets.at("stylesheets/font-awesome.min.css")">
这会产生编译错误:
方法的参数不够似乎编译器没有看到我们声明方法的第一个参数被修复(path="/public"
文件中的routes
。
基于my research in the Play documentation,当声明修复path
参数的多个路由时会发生此错误,但对我来说绝对不是这样。我只有一个调用Assets控制器的路由。
如果我明确地使用这两个参数调用:
<link rel="stylesheet" href="@Assets.at("/public", "stylesheets/style.css")">
然后项目成功运行,但是当我在浏览器中加载主页时,我的CSS都没有。有没有人遇到过类似的问题?
答案 0 :(得分:0)
通过设置我的路线,我找到了解决办法:
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)
并像这样调用资产:
<img src="@routes.Assets.versioned("images/home_page.jpg")" class="img-responsive" alt="My Image">