【问题标题】:JSF page loses values after forward to itselfJSF页面在转发到自身后丢失值
【发布时间】:2011-12-25 22:40:14
【问题描述】:

每当我让 JSF 页面向自身执行转发时,它都会丢失所有输入的表单值。是否有可能以某种方式保留此值?

【问题讨论】:

  • 持有数据的bean的作用域是什么?
  • bean的作用域是session
  • 这不是正常行为。我们需要看到一个 SSCCE。
  • 会不会,只要不提交,bean就不会设置任何值?
  • 是的,但这是正常行为,与 JSF 无关。也许您根本没有提交输入?您为什么希望他们保留?

标签: java jsp jsf richfaces jsf-1.2


【解决方案1】:

当您根本没有将表单的输入值提交给服务器时,就会发生这种情况。例如,当您使用输出链接而不是命令链接时,或者当您在命令链接/按钮上使用immediate="true" 时,或者当命令链接/按钮以不同于输入的形式放置时,等等。

这些值不会保留在下一个视图中是正常行为。那么bean的范围真的无关紧要。如果您想在下一个视图中保留它们,您还必须提交表单的输入值。即使 bean 是请求范围的并且您正在执行简单的转发(而不是重定向),那么输入值也将被保留。

【讨论】:

    【解决方案2】:

    您应该查看要保留的值的范围吗?查看范围值仅在页面的生命周期内可用,请求范围将在新页面转发时被忽略,因此您必须更多地查看您的应用程序流程。

    【讨论】:

    • 不正确。 不会在页面forward上忽略请求范围。它只会在页面 redirect 上被忽略。另外,OP 提到该 bean 在会话范围内。
    • 好的,感谢指正,没有看到答案附上的cmets。
    • cmets 正在讨论这个问题。
    • 会不会是转换器的问题??在一个领域??
    • 是的,没有看到问题上的 cmets
    猜你喜欢
    • 2015-03-15
    • 1970-01-01
    • 2023-03-31
    • 2013-11-21
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 2019-08-15
    相关资源
    最近更新 更多