Wbijam sobie głowę w ścianę o to, co moim zdaniem byłoby bardzo prostym problemem do rozwiązania w Grails:Grails - sortowanie listy wyjściowej bez konieczności posiadania zestawu SortedSet lub porównywalnego modelu?
Załóżmy, że mam model podobny do koszyka; więc koszyk klasy, który ma wiele przedmiotów, a każdy przedmiot należy do koszyka. Ogólnie rzecz biorąc, nie obchodzi mnie kolejność przedmiotów w koszyku - nie obchodzi mnie, w jakiej kolejności są one przechowywane, przeliczone itp. JEDNAK, chcę wyświetlić je w tej samej kolejności. Wydaje mi się, że ta logika powinna istnieć CAŁKOWICIE w warstwie widoku, ale jedyne rozwiązania, jakie udało mi się znaleźć, każą mi zadeklarować elementy jako SortedSet w warstwie modelu. Wpływa to również na moją warstwę kontrolera, ponieważ proste operacje List, takie jak .collect {}, wymagają teraz dodatkowych skoków składniowych, aby zachować poprawność konwersji typów i zachować sortowanie.
Dla mnie to jest orzechy, więc brakuje mi czegoś prostego! Czy jest jakiś sposób, na przykład, na zrobienie czegoś takiego jak <g:each in="${cart.items.sort{it.name}}">
lub coś podobnego, tak, że mogę wymusić spójną kolejność wyświetlania TYLKO na warstwie wyjściowej/widoku? EDYCJA - Zobacz odpowiedź Matta poniżej; wersja tego faktycznie działa.
Dziękujemy za porady i wskazówki!
To świetnie. W końcu natknąłem się na podobne rozwiązanie na tych samych liniach, używając interfejsu ProxyGenerator i komparatora, ale twój jest znacznie czystszy i zdecydowanie taki, jakiego szukałem. dzięki! – bprotas