Grails - сортировка списка сущностей на gsp с использованием sortableColumn

У меня есть следующая сущность:

class User {

    String name
    String contactName
    String primaryEmail
    String url
    String phoneNumber
    String address
    //..
}

У меня есть gsp, который отображает список всех пользователей, и я хочу иметь возможность сортировать пользователей по contactName, имени и phoneNumber, в контроллере у меня есть метод list (), который просто возвращает список всех пользователей:

class UserController {
     ...

    def list() {
        [users: User.all]
    }
}

Мой gsp такой:

<body>
<table>
    <thead>
    <tr>
        <g:sortableColumn property="contactName" title="Bookmaker"/>
        <g:sortableColumn property="name" title="Name"/>
        <g:sortableColumn property="phoneNumber" title="Phone"/>
    </tr>
    </thead>
    <tbody>
    <g:each in="${users}" status="i" var="user">
        <tr>
            <td>${user.contactName}</td>
            <td>${user.name}</td>
            <td>${user.phoneNumber}</td>
        </tr>
    </g:each>
    </tbody>
</table>
</body>

Но когда я нажимаю на один из сортируемых столбцов, отправляется запрос (что-то вроде этого: «list? Sort = phoneNumber & order = asc»), но ответ всегда один и тот же. Теперь мне кажется, что код, который действительно сортирует список, должен быть реализован мной. Или я что-то не так делаю? Спасибо!


person Andrey Yaskulsky    schedule 09.07.2014    source источник


Ответы (1)


снова ты :)

def list() {
    [users: User.list( params )]
}
person injecteer    schedule 09.07.2014
comment
ну, вы сэкономили мне еще пару часов :-) спасибо, я не нашел этого решения в документации, связанной с этим тегом - person Andrey Yaskulsky; 09.07.2014
comment
хмм, в справочном документе есть все grails.org/doc /2.3.x/ref/Domain%20Classes/list.html. - person injecteer; 09.07.2014
comment
getAll() слишком негибкий, чтобы размещать список с разбивкой на страницы и сортировкой - person injecteer; 09.07.2014
comment
да, но я говорил о документации по тегам. конечно, я должен был сначала посмотреть списки, но все равно спасибо :-) - person Andrey Yaskulsky; 10.07.2014