scala - 如何从 Play html 模板调用 Scala 函数

标签 scala playframework

我是 Scala/Play 框架的新手。

目前,我正在尝试从我的 html 页面调用 Scala 函数:test.scala.html 并将散列参数传递给 Scala 函数。

我在路由中添加了以下几行:

GET   /hello                      controllers.Application.test
POST  /hello                      controllers.Application.hello

在我的 test.scala.html 中我有:

@params = { window.location.hash }
@helper.form(action = routes.Application.hello) {

}

我的 hello 函数定义为:

 def hello() = Action {
   Ok("Hello !")
 }

我完全被路由和@的概念弄糊涂了,所以我不太确定哪一部分做对了,哪一部分做错了。请指出我的错误。

提前致谢。

最佳答案

如果函数正在返回一个 Action ,而不是要在 View (HTML) 中格式化显示的内容,您可能希望将请求路由到这个 Action ,从链接点击或表单提交,到路由中配置的 url(又名 /hello ).

要添加参数,您需要将其添加为 url 查询字符串(例如对于链接 → /hello?p=1 ),或者为表单添加输入/字段(例如 <input type="text" name="p" value="1" /> )。

您可以使用反向路由获取 URL 来调用配置的操作。例如,对于 POST 到 hello 的表单: <form action="@routes.MyController.hello()" method="POST">... 。在这种情况下,您需要查看表单映射,以从请求中提取参数。

关于scala - 如何从 Play html 模板调用 Scala 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25320033/

相关文章:

scala - 在 Spark 中发现和读取多个文件

java - 使用 Google Youtube API

mysql - 如何使用 slick 和 mariadb 将 Array[Byte] 插入二进制数据类型列?

playframework - 如何在 Play Framework 中设置仅应在测试或开发模式下启用的依赖项?

Java异常crshes玩法框架

postgresql - Slick 3.1.1 sql PSQLException : ERROR: syntax error at or near "" + ""

xml - java 的 node.getTagName 的 scala 函数

scala - Akka Actor 设置 : In Main method or in 'Manager' class?

scala - 无形案例研究

playframework - Play Framework 对客户端/服务器状态的同步有什么支持?