Il tag <ui:repeat />
supporta il iterating su un java.util.Set
? Ho provato a ripetere i miei oggetti di dominio JPA contenuti in un Set, ma a ricevere errori. C'è qualcosa che mi manca? È necessario che sia presente una bandiera aggiuntiva o qualcosa del genere?JSF - <ui:repeat /> su un java.util.Set?
risposta
No, il ui:repeat
non supporta Set, né h:dataTable
.
È necessario restituire un elenco dal set e utilizzarlo.
public List<T> getListFromSet(Set<T> set) {
return new ArrayList<T>(set);
}
È consigliabile evitare l'uso di c:forEach
; here is an article on why.
Utilizzare invece c:forEach
. Sembra che ui:repeat
non supporti set (cioè richiede una sorta di proprietà di ordinamento).
Altrimenti è possibile creare il proprio tag, come descritto in: http://techblog.bozho.net/?p=28
Do ** non ** considerano usando 'c: forEach': http://www.ilikespam.com/blog/c:foreach-vs-ui:repeat-in-facelets –
Dipende completamente quale è l'insieme che stai iterando e se compila il tempo o meno. Quindi, se questo è il caso, puoi usare 'c: forEach'. – AdamH
Sì, se sai cosa stai facendo, puoi usare 'c: forEach', ma ho letto il tuo post in questo modo 'dovresti considerare l'uso di c: forEach', e questo non è il caso. Meglio usare 'ui: repeat' per evitare problemi –
Il modo più semplice per concludere l'offerta alla pagina senza modificare la classe è la conversione dello set
in uno array
come questo.
<ui:repeat value="#{myBean.mySet.toArray()}" var="_myvar">
- 1. Cosa fa <h:messages> in JSF?
- 2. Utilizzando <ui:repeat><h:inputText> su un elenco <String> non aggiorna modello valori
- 3. JSF 2.0: C'è qualche vantaggio nell'uso di DataModel <T> su Elenco <T> per le applicazioni CRUD
- 4. Espressione <Func <TModel, stringa >> su Expression <Azione <TModel>> "Getter" su "Setter"
- 5. <f: selectItems> JSF custom tag attributo tooltip
- 6. Iterate attraverso l'elenco <String> utilizzando JSF 2
- 7. JSF attributo subordinata tag HTML5
- 8. XmlSerializer.Deserialize su un elenco <> articolo
- 9. Contare su un IEnumerable <dynamic>
- 10. Fai un <br> invece di <div></div> premendo Invio su un contenteditable
- 11. JSF - Come implementare un JavaScript "Sei sicuro?" richiede un <h: commandButton>
- 12. Quando utilizzare un SortedList <TKey, TValue> su un SortedDictionary <TKey, TValue>?
- 13. È un <form> valido su un <tr>?
- 14. ><<..>> = in uscita
- 15. Modifica di un mutex <Option<>>
- 16. Quando <ui:repeat> funziona per X ma <c:forEach> funziona per Y
- 17. <MailDefinition> e <%%> segnaposto
- 18. Chiama AsQueryable <T> su un DbSet <T> "sicuro"?
- 19. convert <vector><string> TO <vector><int> C++, Win32
- 20. XSD formattazione <element><complexType> vs <complexType /><element/>
- 21. JSF Componente composito <f:ajax> contiene un ID sconosciuto - impossibile localizzarlo nel contesto del componente
- 22. <cstdint> vs <stdint.h>
- 23. Come convertire un'espressione <Func <T, bool>> in un predicato <T>
- 24. Come convertire un IEnumerable <Task<T>> per IObservable <T>
- 25. ritorno Queryable <T> o Elenco <T> in un repository <T>
- 26. IEnumerable <> to IList <>
- 27. TextMate js.erb: toggle <%= %>, <% %>
- 28. Rails ERB <%- ... -%> vs. <% ... %>
- 29. Quando utilizzare <%# ... %> e <%= ... %>?
- 30. <applet> vs <object>
Dato che i getter in JSF vengono comunemente chiamati [più volte] (https://stackoverflow.com/questions/2090033/why-jsf-calls-getters-multiple-times) questo può essere una soluzione costosa. –