gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 03:48:18 26 4
gpt4 key购买 nike

我有一个具有以下目录结构的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com