我正在尝试提交带有一些文本区域的表单,如下所示:
<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/