java - Play 2.5 元素中损坏的 CSS 链接

标签 java html css twitter-bootstrap playframework

我有一个具有以下目录结构的 Java Play 2.5 元素:

  • 元素目录
    • 应用
    • Assets
      • 图片
      • javascript
      • 样式表
    • 模特
    • 观点
    • 控制者
    • 公开
      • 图片
      • javascript
      • 样式表
    • 目标

这或多或少直接取自 anatomy of a Play project .

但是,我无法将 Assets (CSS 和图像)从 public 目录链接到 main.scala.html

我们在 routes 文件中有以下路由:

GET  /assets/*file  controllers.Assets.at(path="/public", file)

然后我们在 main.scala.html

中链接 Assets
<link rel="stylesheet" href="@Assets.at("stylesheets/font-awesome.min.css")">

这给出了编译错误:没有足够的方法参数

编译器似乎没有看到我们声明方法的第一个参数是固定的(routes 文件中的path="/public")。

基于 my research in the Play documentation ,当声明了修复 path 参数的多个路由时会发生此错误,但对我来说绝对不是这种情况。我只有一个调用 Assets Controller 的路由。

如果我像这样用两个参数显式调用 at:

<link rel="stylesheet" href="@Assets.at("/public", "stylesheets/style.css")">

然后元素运行成功,但是当我在浏览器中加载主页时,我的 CSS 都不存在。有没有人遇到过类似的问题?

最佳答案

我通过像这样设置我的路线找到了一个修复:

GET  /assets/*file  controllers.Assets.versioned(path="/public", file: Asset)

并像这样调用 Assets :

<img src="@routes.Assets.versioned("images/home_page.jpg")" class="img-responsive" alt="My Image">

来源:https://www.playframework.com/documentation/2.5.x/AssetsOverview#reverse-routing-and-fingerprinting-for-public-assets

关于java - Play 2.5 元素中损坏的 CSS 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43855472/

相关文章:

css - 将内容放在固定导航栏下

html - 下拉菜单出现在div后面

java - SQL参数顺序

java - 如何在android中固定时间后重复任务?

java - Hibernate 映射 - 没有@Id 的连接表

php - Facebook 不显示所有打开的图形图像

java - 如何以编程方式调用 DiagnosticCommandMBean?

javascript - HTML5 数据库 - 事务 VS executeSql 回调顺序

javascript - 在同一个按钮中添加不同的图像

html - 如何使用百分比设置表格单元格的最大宽度?