6

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

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

我是否遵循正确的方法。请向我建议任何想法或资源来学习 scala 游戏框架。提前致谢

4

2 回答 2

26

这是 Play 2.1.1 的完整(但简单)表单示例。包括视图、控制器和路由文件。我怀疑您缺少导入和/或隐式请求。这两个都可以理解!

控制器(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))
  }
}

视图(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 视图中的名称属性必须与控制器表单中的字符串文字相匹配。

希望有帮助。

于 2013-05-31T17:46:33.143 回答
0

播放文档是了解表单的最佳方式 https://www.playframework.com/documentation/2.1.1/ScalaForms如果您想要更多,请查看 play-example-form 项目。

http://typesafe.com/activator/template/play-example-form这个关于表单的激活器示例项目解释了关于表单的一切。

1) 它解释了播放控制器中的表单和数据绑定、验证。

2)它Optional parameters在表格中解释。

3) 例如,它解释了具有嵌套对象的复杂形式

     case class Student(name: String, age: Int, gender: Optional[Char] = None, 
                                                address: Address, other: OtherStuff)

上述案例类取决于 Address、OtherStuff 并注意性别是可选的。示例项目解释了如何处理如此复杂的对象依赖关系。

请从这里下载激活器 http://typesafe.com/get-started。然后,使用命令在浏览器 UI 模式下启动激活器activator ui并在搜索中键入 play-example-form 以下载它。下载后转到项目根文件夹并键入activator eclipse以防您使用 eclipse 或activator gen-ideaIntellij Idea。

于 2014-12-18T07:23:32.750 回答