¿Alguna razón por la que uno como Set<MyObject> objects = new HashSet<MyObject>();
no debería funcionar en la tabla de datos JSF? Funciona con List.Mostrar objetos de una colección Establecer en Datatable JSF no funciona
Respuesta
En cuanto a por qué un Set
en general no es compatible, esto se debe a que esta estructura de datos nunca está destinada a contener una colección de objetos que es ordenada por un índice. El List
hace eso y esta estructura de datos es la estructura de datos más sensible para representar el valor de un componente UIData
. La interfaz DataModel
, que representa el valor empaquetado de los componentes UIData
y contiene los índices de fila y recuerda la fila actual para iteración en procesamiento y entrega de formulario en posback, admite desde las clases de colección Java solo la interfaz List
con sabor a ListDataModel
.
Finalmente, después de un proceso de toma de largo (especialmente empujada por la comunidad Hibernate/JPA que por lo general utiliza Set
para las relaciones nm), el equipo de especificación JSF tiene para el próximo JSF 2.2 decidido dejar que el apoyo DataModel
interfaz de la interfaz Collection
en lugar de solo el List
, con la ayuda de la nueva implementación CollectionDataModel
. Esto también admite conjuntos. Vea también JSF spec issue 479. Solo debe tener en cuenta utilizar LinkedHashSet
en lugar de HashSet
, sin duda si su intención es tener una tabla de datos editable. A LinkedHashSet
mantiene el orden de los elementos.
- 1. DataTable en JSF
- 2. Cómo mostrar los datos en dirección horizontal usando JSF dataTable
- 3. jsf repeat inside datatable
- 4. Muestra condicional fila utilizando JSF Datatable
- 5. JSF setLocale no funciona correctamente
- 6. Ordenar una colección de objetos
- 7. Mostrar imagen cargada en JSF
- 8. Enlazar objetos en una colección de Conjunto
- 9. Primefaces - actualizar datatable con commandButton no funciona
- 10. JSF: h: dataTable vs h: panelGrid
- 11. Generar una colección de mapas en facelets JSF 2
- 12. Sincronización de una colección de objetos envueltos con una colección de objetos sin envolver
- 13. XStream - Rootear como una colección de objetos
- 14. DataTable que contiene inputText: ¿es posible con JSF Custom Component
- 15. ¿Por qué esta expresión no funciona? JSF
- 16. Mostrar el objeto JSON en YUI Datatable
- 17. Java - Hacer una colección de objetos amigable
- 18. RESTO - Eliminar una colección de objetos
- 19. Usar múltiples BindingSources en una DataTable
- 20. jsf datatable con carga lenta, filtrado y clasificación
- 21. jsf 2,0 primavera 3 solicitud de alcance no funciona
- 22. Mostrar fecha actual en JSF Página
- 23. Devolver objetos DataTable con el servicio WCF
- 24. C# pasar una colección de objetos InterfaceImplementingClass a una rutina que lleva una colección de interfaz .NET objetos
- 25. ¿Cómo funciona el filterMatchMode de PrimeFaces DataTable?
- 26. Cómo establecer la dirección URL de una colección
- 27. ¿Cómo funciona JSF 2 ConversationScope?
- 28. Cómo crear una lista de objetos heredados para una colección de objetos en Java?
- 29. AutoMapper: asignación de una colección de objetos a una colección de cadenas
- 30. RowFilter en una DataTable para mostrar en una vista de cuadrícula
Ciertamente porque los elementos de un HashSet no están ordenados. Cualquier inserción o eliminación en el conjunto puede hacer que cambie el orden de sus elementos. –
@JBNizet Esto debería ser una respuesta. –
No soy un experto en JSF, y por lo tanto no estoy seguro de que este sea el motivo (o la única razón). Así que dejaré que otros respondan una respuesta más precisa. –