h:inputText,h:selectOneMenu在重新渲染后显示旧值

时间:2011-07-09 07:50:47

标签: caching jsf rendering jsf-1.2

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

考虑我有三行:

Text1 comboxBox1 delete1
Text2 comboxBox2 delete2
Text3 comboxBox3 delete3

点击delete1:

目前的行为
Text1 comboxBox1 delete2
Text3 comboxBox3 delete3

预期行为
Text2 comboxBox2 delete2
Text3 comboxBox3 delete3

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

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

1 个答案:

答案 0 :(得分:1)

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

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