Struts会话表单bean不保留状态

San*_*eep 4 java forms session struts struts-action

我正在使用Struts 1.3创建一个类似向导的界面,包括3个jsp页面和3个Struts动作.流程如下:page1> action1 - > page2> action2 - > page3> action3

我使用会话表单bean(具有会话范围的操作表单)在请求之间共享数据.我遇到的问题是我在第2页中提交的数据在操作2中可用,但在行动3中没有.我有疑问可能是我在第3页上没有表格来保存这些数据,或者因为我打电话action3通过jQuery post方法而不是常规表单提交,但我真的不确定.

我差不多一天都在挖掘所有互联网,但仍然没有运气.谁能提供一些帮助.非常感谢.

Nav*_*ved 5

我想您可能已经为StrutsConfig.xml中的操作分配了相同的表单,因此它没有给出ClassCastException.顺便说一句,如果你想访问在action 2 stuff上填充的同一个表单bean,请执行以下操作

  1. 查看strutsConfig文件以获取actionMapping的两个动作(2和3).保持表单的名称不同以进行单独的操作(例如,action2的form2和action3的form3).
  2. 在Action3中,使用此方法而不是转换表单 form2 = (FormBean2) session.getAttribute("form2");

上面的原因是因为两个动作都使用相同的形式,struts可能会覆盖它.希望以上将解决您的问题.