我正在尝试提交一个包含一些文本区域的表单,如下所示:
<textarea name="criticism[]" rows="3" cols="5"></textarea>
textarea需要有一个数组作为名称,因为页面上可以有无限多个,由用户用js添加。
值已正确传递到 Controller 。
在 Controller 中,我执行params.flash()
,这似乎将值添加到 session 中,因为如果我在模板中执行${flash}
,它们就会打印到屏幕上。但是,我无法以任何方式访问它们。 ${flash.criticism}
返回 null,而 ${flash.criticism[x]}
将返回越界错误。
我是否遗漏了任何语法方面的内容?
干杯:)
最佳答案
闪存范围仅适用于当前请求和下一个请求。要将某些内容放入 session 中,请使用 session 。
但是闪存和 session 并不是为了存储值。它们的 cookie 大小限制为 4kb。要存储某些内容,请使用数据库和/或缓存
如果您想在下一页中重新渲染值,只需将字符串数组作为 'criticism'
参数传递给下一个渲染方法,并在模板中使用 ${criticism[x]}
关于java - 带有数组名称的 playframework 表单输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10345986/