Spring Web Flow 防止后退按钮使用

2024-01-01

因此,我在项目上使用 Spring Web Flow,并希望在元素上使用history="discard" 和history="invalidate" 属性。

我已将这些属性放置在我想要的位置,但是,当我在转换上运行历史记录属性后尝试通过导航到视图来测试它们是否有效时,它会将我定向到异常页面。

org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是 org.springframework.webflow.execution.repository.FlowExecutionRestorationFailureException:使用键“e1s1”恢复流程执行时发生问题

当然,它说我从历史记录中删除了该状态,因此它找不到它。我真的不明白为什么没有一些内置的机制来处理这个问题,但除此之外,我还没有找到一种方法来优雅地处理这个异常,这样我就可以重定向它们到错误页面或者将它们发送回它们来自的地方会更好。

<view-state id="page1">
    <transition on="gotoNextPage" to="page2" history="invalidate" />
</view-state>
<view-state id="page2"/>

这种行为应该如何实现,以便按下第 2 页上的后退按钮不会产生异常,而只是让您停留在第 2 页上?


我对此做了很多搜索。

有 2 个解决方案(带有示例代码)。

第一个是捕获异常并显示一个使用 javascript 的页面forward()返回到原始页面 - 实际上撤消了背面。

第二个解决方案检查流状态并将其发送到最新的有效流快照。

我和你一样困惑,没有现成的解决方案。每个人都一定会遇到这个问题。 有一个JIRA 问题字段 https://jira.springsource.org/browse/SWF-727对于那些有兴趣跟踪进展的人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Web Flow 防止后退按钮使用 的相关文章

随机推荐