2012-07-06 13 views
6

Ho aggiornato di recente il mio progetto primefaces alla nuova versione di primefaces.Primefaces 3.3.1 performance picklist è lenta

Tutto sembra funzionare correttamente ma il picklist è molto lento quando si fa clic sul pulsante "aggiungi tutto". Ho un enorme set di dati (circa 130 articoli) nella lista. Il problema è descritto anche in questo forum post.

UPDATE: Un esempio molto semplice dovrebbe dimostrare il problema:

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

La forma (nell'ambito di sessione):

metodo che crea il 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); 
} 

C'è qualche som cosa potrei fare per renderlo più veloce?

+0

Puoi pubblicare il tuo codice? – fareed

+0

E vuoi dire che nella tua vecchia versione di primefaces stava funzionando bene e si è rallentato una volta aggiornato alla nuova versione? – fareed

+0

3.3.1 non sembra essere un tentativo di rilascio con 3.3 invece. O usare più vecchio. –

risposta

1

Sembra un errore nella versione primefaces. Ho trovato alcuni altri post nel forum Primefaces su questo argomento.

Ho implementato il mio elenco personale e tutto funziona correttamente ora.

+0

Ciao, sei disposto a condividere il tuo elenco di selezione con la comunità, ad esempio come patch su PrimeFaces? –

0

Non riesco a dirti esattamente il problema in base alla quantità di codice che hai postato qui. Ma sulla base dei tuoi commenti, posso suggerirti quanto segue:

  • Controllare che i campi richiesti all'interno dello stesso modulo non impediscano l'invio.
  • Non usare moduli annidati
  • Assicurarsi di vostre sequenze richiesta AJAX (ActionListener, azione, onclick ... ecc)
  • Assicurarsi che i codici sono fortemente scritti e dare un senso. Perché a volte si noterà uno strano comportamento nei componenti primefaces (non si attiva, non si aggiorna) se il codice causa un errore.

Speriamo che questo possa aiutarti.

+0

Ho aggiornato la domanda con un esempio molto semplice (nessun convertitore, solo valori interi semplici) che dimostra il problema. – Lodger