Grails - 使用sortableColumn对gsp上的实体进行排序

时间:2014-07-09 14:13:29

标签: grails grails-controller

我有以下实体:

class User {

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

我有gsp显示所有用户的列表,我希望能够通过contactName,name和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&amp; order = asc”)但响应总是相同的。现在在我看来,实际上对列表进行排序的代码应该由我自己实现。或者我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:1)

你再次:)

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