【问题标题】:Spring Web Flow - Any transition keeps refreshing the flowSpring Web Flow - 任何转换都会不断刷新流程
【发布时间】:2014-03-08 16:17:01
【问题描述】:

Spring Web 流转换根本不起作用。仅加载第一个视图状态。但是在单击任何转换状态时,流程会再次刷新并再次加载第一个视图。虽然,相同的流 xml 和相同的设置在我朋友的机器上运行良好。这怎么可能?相同的流(流 xml)在一个系统中运行良好,而在另一个系统中运行良好。有没有人遇到过这种类型的问题?任何帮助是极大的赞赏。谢谢!!!

----------------------------

What I was able to see is that, whenver a transition is triggered, it returns http status 302 rather than 200. Hence it defaults to flow start.

Can anyone help me here pls..

【问题讨论】:

  • 您能否提供一些代码并说明您已经尝试过的内容?
  • 也请发表您的看法。您可能没有在表单中包含必需的 SWF 字段。此外,HTTP 代码 302 完全可以,SWF 使用它来将您重定向到 webflow 的下一步
  • 在正常工作的系统中,JSESSIONID 保持不变(在事件转换中)。而我可以在我的系统中看到不同的 JSESSIONID。这会有什么问题吗?
  • 嗯...是的 - SWF 使用状态 (IIRC)。如果您失去会话,这将是一个问题。通常,如果您使用 localhost 进行测试,则 cookie 或会话跟踪可能存在问题。您可能想查找原因……这通常很容易从日志或使用 Fiddler 或 Firebug 等工具进行诊断。

标签: spring spring-webflow


【解决方案1】:

我们能够找出问题所在。 SWF 对每个事件都使用 JSESSIONID。如果该 cookie 未从浏览器发送回服务器,则假定没有有效会话并重定向到第一页(流程开始)。这可以在代码或容器级别修复。 JESSIONID cookie 不应为 HttpOnly。这可以在应用程序服务器中完成(在我的情况下是 Websphere,不确定其他服务器是否有此选项)。否则,在代码中有一个过滤器来获取 JSESSIONID cookie 并执行此操作 cookie.setHttpOnly(false);

我猜 Firebug 是识别这类问题的最佳工具。 :)

【讨论】:

  • 是的,我想说这听起来你正在使用你的会话。但是,除非您特别使用 JavaScript 进行导航,否则 cookie 不能是 HttpOnly 是不正确的。那么,当然,HttpOnly 必须是假的。
猜你喜欢
  • 2012-06-30
  • 1970-01-01
  • 1970-01-01
  • 2014-03-15
  • 1970-01-01
  • 1970-01-01
  • 2010-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多