输入字段即使在清除后也会获得本地值

时间:2012-02-24 04:33:27

标签: jsf-2

我在表单中有一些输入字段,使用“保存”按钮提交,并且有一个“清除”按钮,使用clear方法清除输入字段,使用setSubmittedValue(“”)清除值;

顶部有一个selectonemenu,带有一个valueChangeListener,它调用backing bean中的一个方法,为selectonemenu的某个值添加一组额外的输入字段。(该字段有ajax)

首先,我在输入字段中输入一些值(无效),然后单击“保存”以使验证失败并显示错误消息。 然后我单击清除以清除输入字段并清除它们。

现在,如果我点击selectonemenu更改其值,输入字段将显示我输入的无效值。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

您已使用空字符串而不是null设置提交的值。这样它将在渲染期间显示而不是本地值。但是,在随后的请求中,它再次变为null,而是显示本地值。

清除按钮应该调用EditableValueHolder#resetValue()而不是EditableValueHolder#setSubmittedValue()