2011-11-04 6 views
5

RichFaces exampleに記載されているような<a4j:support>を使用している場合は、ドロップダウンボックスの値を変更するときに常に次のエラーが発生します。 成分系javax.faces.SelectOne(MYID)用UISelectItem/UISelectItemsの子コンポーネントタイプを期待JSFエラー "期待された子コンポーネントタイプ...見つかったnull"

。ヌルが見つかりました。

はここでJSFコードだ:

<h:selectOneMenu id="selectId" valueChangeListener="#{cs.myListener}" value="#{cs.selectList.selectedItem}"> 
<f:selectItems value="#{cs.bundeslandList.selectItems}" /> 
<a4j:support event="onchange" reRender="otherFieldId" /> 
</h:selectOneMenu> 

<h:selectOneMenu id="otherFieldId"> 
<f:selectItems value="#{cs.bundeslandList.selectOtherField.selectItems}" /> 
</h:selectOneMenu> 

cs.bundeslandList.selectOtherField.selectItemsは、少なくとも空ArrayListですので、私はotherFieldIdnullすることができないことは確かです。


私はページ全体を削除しましたが、エラーは表示されなくなりました。 valueChangeListenerは正しくと呼ばれますが、残念ながらとなります。otherFieldIdは呼び出し後に更新されません。それは空になった。しかし、デバッグすると、対応するプロパティがエントリで埋められていることがわかります。

+0

まだ作業中です... –

答えて

5

<f:selectItems value>のゲッターは、確かにnullを返しています。この例外の理由は他にありません。あなたのバッキングビーンコードのロジックフローが間違っている可能性があります。

このプロパティをstaticにすることは非常に悪い考えです。これは、Webアプリケーション全体の他のすべてのリクエスト間で共有されます。あなたはそれに基づいて、または最高のセッションベースでそれをリクエストしたいと思っています。

+0

申し訳ありません、私は '静的'について間違っていました。 –

+0

編集した投稿をご覧ください。 –

+0

これは別の問題であり、技術的に新しい質問に入るはずです。最初のステップは、 "リフレッシュされません"と正確に何を意味するのかを詳述することです。それはajax再レンダリングされていませんか?あるいは、 ''ゲッターは空のリストを返すだけでしたか? – BalusC

関連する問題