Spring Mvc在持久化之前将模型数据传递到多个页面

时间:2018-08-10 17:07:42

标签: spring spring-mvc thymeleaf

我正在用Spring Mvc和thymeleaf创建一个简单的应用程序,目前我正在考虑要实现的功能,但我不知道该怎么做。

假设我有一个模型课Person。定期地,我有一个表单和一个控制器,在其中传递新的person对象,并使用JPA将其持久化。

那里没有问题,但是如果我想创建一个页面,然后提供一些人的基本信息,然后单击“下一步”按钮并提供一些其他信息,该怎么办?然后再次点击“下一步”,查看数据并点击“保存”?

2 个答案:

答案 0 :(得分:1)

您可以通过在项目中集成 Spring Webflow 来实现。 Webflow基本上是WebMvc的扩展部分。 Webflow具有一些配置,您必须从哪里开始和应该去哪里。如果您有5页,并且您希望所有这些数据都将在一个过程中放入数据库,那么Webflow将为您提供帮助。另一个优势是,您可以在特定页面中添加验证,并且特定方式意味着您拥有五个模型,并且所有这些模型将在一个流程中工作。 了解更多,https://projects.spring.io/spring-webflow/

答案 1 :(得分:0)

我没有使用Thymeleaf,但是通常可以使用以下某些方法或类似方法解决此类问题:

1。)为此使用相同的模式或其他模式将未完成的数据保存到数据库中(或在会话中;通常,将其保存在服务器端的某个位置)。问题在于如何摆脱用户尚未完成操作的废弃数据。

2。)使用请求参数在页面之间拖动数据。如果请求的类型为POST,则仅在POST正文中;如果请求的类型为GET,则作为查询参数。问题是它不是很干净。

3。)不要执行整页请求。使用Java前端解决方案解决该问题。根据应用程序的不同,可能会或可能不会。

4。)进行全页请求,但仍使用本地存储或会话存储在前端解决。与将数据保留在服务器端会话中类似的问题。