播放scala insert dynamic list of values from form to controller for value insertion
Play scala insert dynamic list of values from form to controller for value insertion
我是 scala
- play frame work
的新手。在我的 view
页面中我有 plus button
。如果我每次都单击 plus
按钮将生成一个包含两个 text boxes
和 delete
icon.If 的新行 我单击 delete
按钮当前行将是 deleted.For 示例 如果我在三个中输入值行我需要将 String
中的 List
值放入我的 Action
以进入 Data Base
.
我需要 contact person
和 contact no
中的 List<String>
值到我的 Controller Action
class 中,以便在 DB
中输入值。我已经使用 javascript
完成了 UI 部分,需要处理 submit
.
表格
编辑
我已经创建了一个新的 three
字段,输入类型 id
为 contactperson[0],contactperson[1],contactperson[2] and contactno[0],contactno[1],contactno[2]
。如果我提交,我需要获取 contactperson
、contactno
array
我的控制器中的值 class.The 行未预先定义它将生成与单击加号按钮时一样多的行。
编辑 2
project table
|---------------------------
| projectid | projectname |
|------------------------ |
| 3 | test project |
--------------------------
contact table
|--------------------------------------------------
| conid | projectid |contactperson | contatcno |
|--------------------------------------------------
| 1 | 3 |jamal | 123 |
---------------------------------------------------
|--------------------------------------------------
| 2 | 3 |karthi | 1245 |
---------------------------------------------------
|--------------------------------------------------
| 3 | 3 |gopi | 124 |
---------------------------------------------------
如果这是我的示例记录意味着我该如何使用 simple
case class projectEdit (
contactperson:List[Options[String]],
contatcno:List[Options[String]],
)
val simple = {
get[List[Option[String]]]("contact.contactperson") ~
get[List[Option[String]]]("contact.contatcno") map {
case contactperson~contatcno
=> projectEdit(contactperson,contatcno)
}
}
我正在使用 https://www.playframework.com/documentation/2.0.2/ScalaForms#Repeated-values 我怎么能像我们通常映射 String
那样将我的 case
class projectEdit
映射到 scala anorm
,Int
。我不知道如何将 List[Options[String]]
映射到 sql anorm
您应该将您的控制器 Action 公开为一个 JSRoute,然后使用 javascript 获取这些值并 POST 它到 JS 端点。有关详细信息,请参阅 https://www.playframework.com/documentation/2.1.0/JavaGuide6(假设您使用的是 Java)
我已经在 simple
variable.So 中设置了 hard-coded
值,它在 compile/run
时没有出现任何错误。假设我在 projectEdit
中有另一个变量 contactname
case class projectEdit (
contactperson:List[Options[String]],
contatcno:List[Options[String]],
contactname:String
)
val simple = {
get[String]("contact.contactname") map {
case contactname
=> projectEdit(List(Some("jamal")),List(Some("syed")),contactname)
}
}
在我的 Action
class 中,一旦表单 submit
成功
我就得到了值
profileedit =>{
println("contact person list:"+profileedit.contactperson.flatten)
println("contact no list:"+profileedit.contatcno.flatten)
}
我是 scala
- play frame work
的新手。在我的 view
页面中我有 plus button
。如果我每次都单击 plus
按钮将生成一个包含两个 text boxes
和 delete
icon.If 的新行 我单击 delete
按钮当前行将是 deleted.For 示例 如果我在三个中输入值行我需要将 String
中的 List
值放入我的 Action
以进入 Data Base
.
我需要 contact person
和 contact no
中的 List<String>
值到我的 Controller Action
class 中,以便在 DB
中输入值。我已经使用 javascript
完成了 UI 部分,需要处理 submit
.
编辑
我已经创建了一个新的 three
字段,输入类型 id
为 contactperson[0],contactperson[1],contactperson[2] and contactno[0],contactno[1],contactno[2]
。如果我提交,我需要获取 contactperson
、contactno
array
我的控制器中的值 class.The 行未预先定义它将生成与单击加号按钮时一样多的行。
编辑 2
project table
|---------------------------
| projectid | projectname |
|------------------------ |
| 3 | test project |
--------------------------
contact table
|--------------------------------------------------
| conid | projectid |contactperson | contatcno |
|--------------------------------------------------
| 1 | 3 |jamal | 123 |
---------------------------------------------------
|--------------------------------------------------
| 2 | 3 |karthi | 1245 |
---------------------------------------------------
|--------------------------------------------------
| 3 | 3 |gopi | 124 |
---------------------------------------------------
如果这是我的示例记录意味着我该如何使用 simple
case class projectEdit (
contactperson:List[Options[String]],
contatcno:List[Options[String]],
)
val simple = {
get[List[Option[String]]]("contact.contactperson") ~
get[List[Option[String]]]("contact.contatcno") map {
case contactperson~contatcno
=> projectEdit(contactperson,contatcno)
}
}
我正在使用 https://www.playframework.com/documentation/2.0.2/ScalaForms#Repeated-values 我怎么能像我们通常映射 String
那样将我的 case
class projectEdit
映射到 scala anorm
,Int
。我不知道如何将 List[Options[String]]
映射到 sql anorm
您应该将您的控制器 Action 公开为一个 JSRoute,然后使用 javascript 获取这些值并 POST 它到 JS 端点。有关详细信息,请参阅 https://www.playframework.com/documentation/2.1.0/JavaGuide6(假设您使用的是 Java)
我已经在 simple
variable.So 中设置了 hard-coded
值,它在 compile/run
时没有出现任何错误。假设我在 projectEdit
contactname
case class projectEdit (
contactperson:List[Options[String]],
contatcno:List[Options[String]],
contactname:String
)
val simple = {
get[String]("contact.contactname") map {
case contactname
=> projectEdit(List(Some("jamal")),List(Some("syed")),contactname)
}
}
在我的 Action
class 中,一旦表单 submit
成功
profileedit =>{
println("contact person list:"+profileedit.contactperson.flatten)
println("contact no list:"+profileedit.contatcno.flatten)
}