我有一个具有复杂表单的 Web 应用程序:
- 执行字段验证,
- 将值转换为易于为下一页解析的输入格式(数组)。
- 将用户重定向到下一页(数据在 URL 中传递)
- 然后下一页加载数据执行计算并显示结果。
这一切都是在 Wicket 中无状态地完成的。我在想我是怎么做到的。感觉不“对”。转换为数组并重定向“工作”,但必须有更好的方法。
更新
为什么表单是无状态的:
有问题的 Web 应用程序与其他 2 个 Web 应用程序共享服务器。OutOfMemoryException
部署此应用程序的新版本后,我遇到了s。当我在将表单转换为无状态之前检查 Tomcat 管理器应用程序时,我通常会看到 ~150 或“活动会话”。现在表单/结果页面是无状态的,我看到了 5 个“活动会话”。这大大减少了我的内存使用量。(我认为)。不过,我仍然有一个挥之不去的疑问:https ://stackoverflow.com/questions/16049219/how-to-handle-a-hibernate-bi-directional-mapping-for-a-set-properly
建议:
我开始怀疑是否应该删除“结果”页面安装点并将其转换为面板。这样我就可以直接将我的复杂对象传递给它,并在整个页面刷新中交换面板。这在无状态页面中是否可能?
POST
另外我不相信 wicket 本身支持 POST 重定向: 如何在 wicket 中使用 post 方法