【发布时间】:2012-03-07 08:01:31
【问题描述】:
我能够动态地将行添加到 Wicket 中的表中。但是,一旦提交表单,新创建的行就会消失。我想将这些行重复用于多次提交。这样的事情可能吗?在试图寻找解决方案时,我找到了方法ListView.setReuseItems(true)。这样做是为了下次提交保留原始行的值,但仍会删除新创建的行。谢谢!
【问题讨论】:
-
你能显示一些代码吗?您需要将新行添加到表的后备列表中..
我能够动态地将行添加到 Wicket 中的表中。但是,一旦提交表单,新创建的行就会消失。我想将这些行重复用于多次提交。这样的事情可能吗?在试图寻找解决方案时,我找到了方法ListView.setReuseItems(true)。这样做是为了下次提交保留原始行的值,但仍会删除新创建的行。谢谢!
【问题讨论】:
由于您没有发布任何代码,我只是假设您当前正在手动更改组件层次结构,以便添加新行。
更好的方法是从底层模型对象生成表。只要您的模型设计为在请求之间保持其状态,表的整个状态就会安全地存储在会话中。这样,为了添加新行,您只需将其添加到模型对象并导致表格再次呈现(例如通过 Ajax 或页面刷新)。
但是,如果您要处理大量数据,则将所有内容都存储在会话中并不是一个好主意。在这种情况下,您需要一个更复杂的模型,以尽可能降低内存占用。但总体思路保持不变:模型处理数据,组件处理表示。
【讨论】: