如果您正在设计一个应用程序,以便用户必须在页面上回答几个问题并且有几十个页面。您使用了哪些Java库和工具,是否有任何其他建议可以帮助您编写此类站点。
要求:
可能的注释和潜在问题: - 使用Struts2 +或其他一些j2ee框架 - 可能使用弹簧芯 - hibernate的用户 - Oracle后端
您是否在每个页面上保存到数据库?
可选(使用JMS)排队页面已完成。
答案 0 :(得分:0)
由于需要,需要某种临时数据存储区(如临时表)来捕获用户活动状态 -
用户必须能够退出应用程序 在任何时候返回
您可以在WizardData
中捕获相关值对象(例如,名为HTTPSession
)中的所有用户操作(因为您使用的是Web层)。无需在每页上保存数据。而是在“下一个”或“上一个”的会话中更新WizardData
。用户完成向导活动后,将信息保存到数据库表(j2ee / spring / hibernate)。
但是,如果用户未完成活动(注销或导航),您可以在会话中保留WizardData
,直到用户注销或会话无效为止。在其中任何一种情况下,将WizardData
保留在以userid为键的临时表中。因此,您可以在用户重新登录或登录后检索向导阶段并重新启动向导。
答案 1 :(得分:0)
Spring Webflow擅长这种事情,我会在这种情况下使用它,因为我已经将它用于其他目的。如果您以前没有使用它,我可能会有点沉重,这是您唯一(立即)使用它。
webflow中的“表单”对象可以包含分割在多个页面中的多个表单中的数据,每个页面只填充整个对象的一部分。
要在每个页面/转换时必须保留表单对象,请退出并返回。我倾向于将其保存在与已完成表单相同的表中,但是有一个列为complete = false和最后一个活动时间戳。