IT干货网

scala之Scala play 框架中的表单

zhoujg 2025年12月25日 编程设计 36 0

您好,我是 Scala Play 框架的初学者。我无法使用两个或多个输入创建表单。我用谷歌搜索它并没有在 Scala 编程语言中找到。请建议我一个关于如何使用 Scala 在表单中创建多个输入的想法。我做了这个

val form = Form (tuple 
    ( 
"firstname"-> text, 
"lastname" -> text 
) 
)  and to get the values val(fname,lname) = form.bindFromRequest.get 

我遵循正确的方法吗?请建议我学习 Scala Play 框架的任何想法或资源。提前致谢

请您参考如下方法:

这是 Play 2.1.1 的完整(但简单)表单示例。包括 View 、 Controller 和路由文件。我怀疑你是 missing imports和/或 implicit request .这两种情况都可以理解!

Controller (Application.scala):

package controllers 
 
import play.api._ 
import play.api.mvc._ 
import play.api.data._ 
import play.api.data.Forms._ 
 
object Application extends Controller { 
  val form = Form( 
    tuple( 
      "firstname" -> text, 
      "lastname" -> text 
    ) 
  ) 
 
  def index = Action { 
    Ok(views.html.index()) 
  } 
 
  def submit = Action { implicit request => 
    val (fname, lname) = form.bindFromRequest.get 
    Ok("Hi %s %s".format(fname, lname)) 
  } 
} 

View (index.scala.html):
<!DOCTYPE html> 
<html> 
  <head> 
    <title>Form example</title> 
  </head> 
  <body> 
    <form method="post" autocomplete="on"> 
      First name:<input type="text" name="firstname"><br> 
      Last name: <input type="text" name="lastname"><br> 
      <input type="submit"> 
    </form> 
  </body> 
</html> 

和路线:
GET     /                           controllers.Application.index 
POST    /                           controllers.Application.submit 

注意:HTML View 中的名称属性必须与 Controller 表单中的字符串文字相匹配。

希望有帮助。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!