2012-04-06 11 views
1

EDIT: 私は、PrimeFacesからDualListModelによって持ち込まれたユーザーによって選択された値のリストを反復しようとしています。Java PrimeFaces - DualListModel反復

は、ここで私がやろうとしているものです:

List<Department> dptsSelected = dptsDual.getTarget(); 
for (Department d : dptsSelected) { 
//do something 
} 

dptsDual:

DualListModel<Department> dptsDual; 

FORループに入るとき、私はエラーを取得します。例外はループに入る前からスローされ、FORにスローされます。

java.lang.ClassCastException: java.lang.String cannot be cast to Department 

TIA

+0

forループで書かれているコードはなんですか?もっとコードを投稿してください。 –

+0

こんにちは、私はそれが問題だとは思わない。私はdptsSelectedを使用して私のDBから引き出します。しかし、ループに入る前から例外がスローされています。それはFOR – ercliou

答えて

0

次の2つの異なるもの、DepartmentEnumや部門を混合しています。豆で

<p:pickList value="#{myBean.myDepartment}" ....> 

:まず......あなたの条件は今、この方法を試してみてください

DepartmentEnum

の部門またはDualListModelのDualListModelとしてdptsDualを必要とするかどうかをXHTMLで

を決める

List<Department> selectedDepartments = new ArrayList<Department>(); 
List<Department> availableDepartments = getAvailableDepartments(); 

private DualListModel<Department> myDepartment; 
myDepartment = new DualListModel<Department>(availableDepartments, selectedDepartments); 

コミット後、選択された部門は、ユーザによって選択された部署を有する。

+0

に投げ込まれました。私の編集を見たのかどうか分かりません。 私はさらにテストを行い、列挙型については、selectedDepartmentを反復することです。それは文字列キャスト例外 – ercliou

+0

を示しています私のコードはあなたがそこでやったこととほぼ同じです、問題はselectedDepartmentを反復しています – ercliou

0

私は私の問題を解決しました。 PFコンポーネントがオブジェクトをページから戻すことができると仮定したと誤解されました。私はこれを仮定しました。なぜなら、Javaは私の時に抗議しなかったからです。

List<Department> dptsSelected = dptsDual.getTarget(); 

ですから、おそらく私はコンバータを使用してこれを解決する必要があります。

助けを借りてくれてありがとう。

+0

どのようにしてクラスキャスト例外を解決しましたか? –