【问题标题】:h:inputText, h:selectOneMenu shows old values after re-renderingh:inputText, h:selectOneMenu 显示重新渲染后的旧值
【发布时间】:2011-07-09 07:50:47
【问题描述】:

我在表格的每一行中都有 h:inputText, h:selectOneMenu。我在每一行的末尾也有删除按钮。单击删除按钮相应的行被删除。当我删除一行时,表中显示的行数减少了一个,但数据仍然从旧行显示。考虑以下示例:

假设我有三行:

Text1 组合框1 删除1
文本 2 组合框 2 删除 2
Text3 组合框3 删除3

点击删除1:

当前行为
文本 1 组合框 1 删除 2
Text3 组合框3 删除3

预期行为
文本 2 组合框 2 删除 2
Text3 组合框3 删除3

我观察到的一件奇怪的事情是,当我将 inputText 更改为 outputText 时,数据正在刷新。我只在输入组件(textArea、testBox、组合框和复选框)方面遇到这个问题。

我在门户环境中使用JSF1.2,Spring web-flow。

【问题讨论】:

    标签: caching jsf rendering jsf-1.2


    【解决方案1】:

    因此,只显示输入组件的提交值,而不是模型值。这表明特定组件的验证失败。您究竟是如何调用删除按钮的?我的印象是您正在抑制验证错误并删除非操作方法中的行。

    这不是删除数据表行的正确方法。您所需要的只是删除按钮上的immediate="true"(并确保您在同一行的输入组件上没有此属性!)。

    【讨论】:

      猜你喜欢
      • 2015-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 2011-07-27
      • 2012-12-11
      相关资源
      最近更新 更多