2012-07-06 17 views
6

Niedawno zaktualizowałem mój projekt primefaces do nowej wersji priorytetów.Primefaces 3.3.1 wydajność listy wyboru jest powolna

Wszystko wydaje się działać dobrze, ale lista wyboru jest bardzo powolna po kliknięciu przycisku "dodaj wszystko". Mam ogromny zestaw danych (około 130 pozycji) na liście. Problem jest również opisany w tym forum post.

UPDATE: To bardzo prosty przykład powinien wykazać problem:

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

formularza (w ramach sesji):

metoda, która tworzy 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); 
} 

Czy jest jakiś ething mógłbym zrobić, aby było szybciej?

+0

Czy możesz opublikować swój kod? – fareed

+0

Czy masz na myśli to, że w twojej starej wersji pierwotnej działało dobrze i zwolniło się po aktualizacji do nowej wersji? – fareed

+0

3.3.1 nie wydaje się być wersją wypróbowaną z 3.3. Lub użyj starszego. –

Odpowiedz

1

Wydaje się, że jest to błąd w wersji podstawowej. Znalazłem kilka innych postów na forum poświęconym temu tematowi.

Zaimplementowałem własną listę wyboru i wszystko działa dobrze teraz.

+0

Witam, czy chcesz udostępnić swoją listę wyboru społeczności, na przykład jako poprawkę do PrimeFaces? –

0

Nie mogę podać dokładnego problemu na podstawie ilości kodu, który tu zamieściłeś. Ale na podstawie twoich komentarzy, mogę zasugerować ci następujące:

  • Sprawdź, czy wymagane pola w tym samym formularzu nie uniemożliwiają przesłania.
  • Nie używaj zagnieżdżonych formularzy
  • Upewnij swoich ajax sekwencji życzenie (ActionListener, akcja, onclick ... etc)
  • Upewnij się, że kody są mocno napisany i sensu. Ponieważ czasami zauważysz dziwne zachowanie w podstawowych składnikach (nie uruchamiasz, nie aktualizujesz), jeśli Twój kod powoduje błąd.

Mamy nadzieję, że to pomoże.

+0

Uaktualniłem pytanie z bardzo prostym przykładem (brak konwerterów, tylko proste liczby całkowite), które demonstruje problem. – Lodger

Powiązane problemy