1

モハラ 2.1.6 / グラスフィッシュ 3.1.2

私はこのようなものを持っています

<ui:repeat var="item" value="#{bean.items}">
  <h:inputText value="#{item.longProperty}"/>
</ui:repeat>

ここで、Item は Long プロパティを持つオブジェクトです

public class Item { 
  private Long longProperty; // + getters/setters
}

longProperty を null 以外 / 空でないものに設定している限り、問題なく動作します。
これを行うと、null 入力は無視され、古い値が復元されます。

日付についても同様の結果です。

ui:repeat から var/status への参照を削除しても違いはありません。#{bean.items[0].longProperty} を明示的に参照しても、同じように失敗します。

同じ正確な h:inputText が ui:repeat の外で正常に機能し、null/空の値が正常に機能します。

さらに、 ui:repeatでは、プロパティが変換を必要とするオブジェクトではなく文字列である場合、空の文字列は正常に機能します。

さらに奇妙にするには、入力に valueChangeEvent を配置すると、予期したevent.getNewValue()ときに null が返されることがわかりますが、セッターは古い値で呼び出されます。

何が起こっているのか分かりますか?

4

3 に答える 3

1

ui:repeatを使用したMojarra/JSF実装のバグが判明

http://java.net/jira/browse/JAVASERVERFACES-1721

于 2012-10-31T15:13:48.057 に答える
0

に変更<ui:repeat><a4j:repeat>ます。

<a4j:repeat var="item" value="#{bean.items}">
  <h:inputText value="#{item.longProperty}"/>
</a4j:repeat>

詳細: Richfaces a4j:repeat

JSF 2.x での ui:repeat および NULL 値に関する問題で<ui:repeat>バグの詳細を参照してください。

于 2013-04-18T17:38:41.337 に答える
0

そして今、ここに複製されています(ロジャー・キテインによる):

http://java.net/jira/browse/JAVASERVERFACES-2717

于 2013-01-30T19:03:53.883 に答える