如何在不使用控制器 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访问这个文件=]
- 将test.html放在public/
下
将代码更改为
<a href='@routes.Assets.versioned("test.html")'>Click me</a>
我有一个在 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访问这个文件=]
- 将test.html放在public/ 下
将代码更改为
<a href='@routes.Assets.versioned("test.html")'>Click me</a>