2013-08-27 5 views
1

Я новичок в игре с фреймворком, имеющим некоторые особенности при установке флажка в контроллере. На мой взгляд: -Play framework null checkbox list

@(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) 
     ) 

Но он возвращает nill, когда я нажимаю на submit, выбрав che ckbox? Он дает результат как Изображение (Список()), но я хочу список выбранных флажков

ответ

0

Имена ваших входов («элемент» - без индексов) должны соответствовать ключу вашего отображения списка (здесь задано как « desc ") для успешной привязки. Он должен работать, если изменить отображение ImageForm на:

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

Обратите внимание, что фактическое имя поле в вашем случае класса - «убывание» - вопрос не должен иметь здесь.

+0

Это работает, но он показывает результат как Изображение (Listed, images/pics/6.jpg ")), и я не мог извлечь отдельные списки из списка. Как итерации в этом списке. –