Spring-MVC状态交互的模式

时间:2011-02-08 17:41:55

标签: forms spring-mvc

今天我用Spring做了这件事:

  • 拥有一个包含表单的页面,并有机会选择与表单相关的一个项目。
  • 如果您按“选择项目”,该应用程序将以某种方式保存您在表单中输入的内容,转到另一个页面,让您选择该项目。
    • 当您回到表单时,它会在您转到其他页面之前填写您所写的内容,以及所选项目。

似乎很容易,但你必须考虑到,由于一些愚蠢的原因,用户可以打开你选择项目的页面(可能是因为书签,或者因为他按下后退按钮10次才能玩)。你知道我的意思。我尝试了很多方法,主要是基于HttpSession ...我不喜欢其中任何一种。他们似乎都不优雅。我甚至想在其他页面中使用隐藏的表单,但鉴于它并不是这个“流程”的独特之处(我的意思是你也可以从其他人那里选择项目选择页面),我将不得不担心冲突等等。

那么您最喜欢的方式是什么?建议?

2 个答案:

答案 0 :(得分:4)

绕过问题而不是解决问题。您可以使用模态javascript div弹出,用户可以在其中选择所需的项目。这个div的内容可以通过ajax 加载(用Http GET调用单独的Spring MVC控制器)。完成选择后,关闭弹出窗口(隐藏div)并将值复制到原始窗体中。完成。

无需将州置于任何地方。

答案 1 :(得分:1)

我建议使用Spring Web Flow。

     Spring Web Flow compliments the Spring MVC.

以下是Spring Web Flow Demo

的链接