我正在尝试提交带有一些文本区域的表单,如下所示:

<textarea name="criticism[]" rows="3" cols="5"></textarea>


textarea需要具有一个数组作为名称,因为用户可以使用js在页面上添加无限个数组。

值将正确传递到控制器。

在控制器中,我执行params.flash(),这似乎将值添加到了视图中,因为如果在模板中执行${flash},它们将被打印到屏幕上。但是,我无法以任何方式访问它们。 ${flash.criticism}返回null,并且${flash.criticism[x]}将返回超出范围的错误。

我在语法上缺少什么吗?

干杯:)

最佳答案

Flash作用域仅适用于当前请求和下一个请求。要在会话中添加内容,请使用会话。

但是,闪存和会话不打算存储值。它们的Cookie限制为4kb。要存储东西,请使用数据库和/或缓存

如果要在下一页重新渲染值,只需将字符串数组作为'criticism'参数传递给下一个渲染方法,然后在${criticism[x]}模板中使用它

关于java - 带框架名称的playframework表单输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10345986/

10-12 21:33