如何在不使用控制器 class 的情况下在 Play 中加载 HTML?

How to load an HTML in Play without using a Controller class?

我有一个在 Play 框架上运行的 Web 应用程序。我正在寻找的是在 Play 加载的页面中给定一个 link 例如 <a href="test">Click me</a>,当用户点击 link 我 想定义一个控制器,它将 return Ok(views.html.test()) 加载 test 指向的页面,我只想加载没有 运行 任何功能的页面场景。这可能吗?

是的,如果 HTML 页面是静态的。在这种情况下,将 HTML 页面复制到 public 文件夹并直接访问它。

如果那个页面不是静态的,你只需要通过控制器。

你不能。

"Gajendra Naidu"描述的方式在幕后使用默认断言控制器。

要实现该方法,您需要添加到 "route" 文件默认断言控制器调用端点:

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

然后把你的test.html文件放在/public项目目录下,只有这样你才能通过URLhttp://localhost:9000/assets/test.html[=14访问这个文件=]

  1. 将test.html放在public/
  2. 将代码更改为

    <a href='@routes.Assets.versioned("test.html")'>Click me</a>