2013-08-27 65 views
1

我是新玩框架在控制器访问复选框中有一些困难。我的观点是: -播放框架null复选框列表

@(img:Form[Image]) 
@helper.form(action = routes.Application.abc) { 
    <li><input name="item[0]" value="pt" type=checkBox></li> 
      <li><input name="item[1]" value="sumit" type=checkBox></li> 
    <p> 
       <button type=submit id=imgButton>submit</button> 
    </p> 

    } 

我conntroller是: -

def abc = Action{ 
    implicit request => 
     val values =ImageForm.bindFromRequest.get 
     println("mapinggg"+values) 
     Ok("hi") 
    } 

我的情况下的类来处理复选框: -

case class Image (desc:List[String]) 

和形式

val ImageForm =Form(
     mapping(
      "desc" -> list(text) 
      )(Image.apply)(Image.unapply) 
     ) 

但是,当我点击提交che时,它会返回nill ckbox? 它给出输出为图像(列表()(),但我想要选中复选框的列表)

回答

0

输入的名称(“item” - 没有索引)需要与列表映射的键匹配(这里给出的是“ desc“)以使绑定成功。如果你改变了ImageForm映射到它应该工作:

val ImageForm =Form(
    mapping(
     "item" -> list(text) 
    )(Image.apply)(Image.unapply) 
) 

注意实际字段名你的情况类 - “递减” - 不应该事在这里。

+0

它的工作原理,但它显示输出为图像(列表(acepted,images/pics/6.jpg“)),我无法从List中检索单个ellements。如何在此列表中进行迭代。 –