6

最近、primefaces-projectを新しいバージョンのprimefacesに更新しました。

すべてが正常に機能しているように見えますが、[すべて追加]ボタンをクリックすると選択リストが非常に遅くなります。リストには膨大なデータセット(約130項目)があります。この問題は、このフォーラム投稿でも説明されています。

更新: 非常に基本的な例で問題を実証する必要があります。

<p:pickList value="#{testForm.dualList}"
            var="id"
            itemLabel="#{id}"
            itemValue="#{id}" />

フォーム(セッションスコープ内):

@Component("testForm")
@Scope("session")
public class TestForm implements Serializable {
     private DualListModel<Integer> dualList;
     //getter & setter methods
}

DualListModelを作成するメソッド:

prepareForm() {
    List<Integer> source = Lists.newLinkedList();
    List<Integer> target = Lists.newLinkedList();
    //add 100 integers as source:
    for(int i = 0; i <= 99; i++) {
       source.add(i);
    }

    DualListModel<Integer> model = new DualListModel<Integer>(source, target);
    testForm.setDualList(model);
}

それを速くするために私ができることはありますか?

4

2 に答える 2

1

Primefacesバージョンのバグのようです。このトピックについて、primefacesフォーラムで他にもいくつかの投稿を見つけました。

私は自分の選択リストを実装しましたが、今ではすべてが正常に機能しています。

于 2012-08-10T11:00:29.867 に答える
0

ここに投稿したコードの量に基づいて、正確な問題を伝えることはできません。しかし、あなたのコメントに基づいて、私はあなたに次のことを提案することができます:

  • 同じフォーム内の必須フィールドが送信を妨げていないことを確認してください。
  • ネストされたフォームを使用しないでください
  • ajaxリクエストシーケンス(actionListener、action、onclick ...など)を確認してください
  • コードが強力に記述され、意味のあるものであることを確認してください。コードでエラーが発生した場合、primefacesコンポーネントの奇妙な動作(起動しない、更新されない)に気付くことがあるためです。

うまくいけば、これはあなたを助けることができます。

于 2012-07-11T12:30:00.160 に答える