播放scala插入从表单到控制器的值的动态值列表以插入值

时间:2015-08-05 12:55:52

标签: scala playframework form-submit playframework-2.3 anorm

我是scala - play frame work的新手。在我的view页面中,我plus button。如果我每次生成它都会点击plus按钮带有text boxes delete图标的新行。如果单击delete按钮,将删除当前行。例如,如果我输入三行中的值,我需要获取List String Action Data Base List<String> contact person contact no Controller Action DB javascript

我需要submitthree中的id值到contactperson[0],contactperson[1],contactperson[2] and contactno[0],contactno[1],contactno[2]类,才能在contactperson中输入值。我已使用contactno完成了UI部分,需要处理array表单。

修改

我创建了一个新的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 | --------------------------------------------------- 字段,其输入类型simplecase 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) } } 。如果我提交,我需要获取caseprojectEdit { {1}}我的控制器类中的值。这些行未预先定义,它将生成与单击加号按钮时相同的行数。

修改2

scala anorm

如果这是我的样本记录,则意味着我如何使用String

Int

我正在使用enter image description here我如何将List[Options[String]]sql anorm05/08/2015一起映射,就像我们通常映射050815<xsl:value-of select="concat(substring($datestring, 1, 2), substring($datestring, 4, 2), substring($datestring, 9, 2)) "/> 一样。我不知道如何将signal ram : ram_t; signal a1_reg : unsigned(A_BITS-1 downto 0); signal a2_reg : unsigned(A_BITS-1 downto 0); .... process (clk1, clk2) begin -- process if rising_edge(clk1) then if ce1 = '1' then if we1 = '1' then ram(to_integer(a1)) <= d1; end if; a1_reg <= a1; end if; end if; if rising_edge(clk2) then if ce2 = '1' then if we2 = '1' then ram(to_integer(a2)) <= d2; end if; a2_reg <= a2; end if; end if; end process; q1 <= ram(to_integer(a1_reg)); -- returns new data q2 <= ram(to_integer(a2_reg)); -- returns new data 映射到{{1}}

2 个答案:

答案 0 :(得分:0)

您应该将控制器Action公开为JSRoute,然后使用javascript获取这些值并将其POST到JS端点。有关详细信息,请参阅https://www.playframework.com/documentation/2.1.0/JavaGuide6(假设您正在使用Java)

答案 1 :(得分:0)

我在hard-coded变量中设置了simple值。因此compile/run时间内没有任何错误。考虑我在contactname

中有另一个变量projectEdit
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课程中,一旦submit成功

,我就会获得这些值
profileedit =>{
 println("contact person list:"+profileedit.contactperson.flatten)
          println("contact no list:"+profileedit.contatcno.flatten)
}