在 Play 中使用 @form 获取列表值 Java

Get list values with @form in Play Java

在我的 Play 2.2.6 项目中,我将自定义表单 QuestionForm 传递给 scala.html。在 html 中,我使用 '@form("incorrect[0]").value'

访问 QuestionForm 值(即在 QuestionForm class 中列出的名称不正确)

但是,我想将变量 i 传递给@form,而不是常量:

@for(i <- 0 to 10) {
   <input type="text" name="incorrect[]" id="incorrect-@i" value='@form("incorrect[i]").value()'/>
}

但这样值仍然为空。我还尝试了 @form("incorrect[@i]").value() 和其他各种语法解决方案,但其中 none 给出了结果。

有人可以解释一下为什么代码中的解决方案不起作用以及如何修复它吗?

你想要:

@form("incorrect[" + i + "]")

或:

@form(s"incorrect[$i]")

在 Java Play 应用程序中可能会造成混淆,因为 Twirl 使用类似 Scala 的语法。