Grails 显示数据库中的数据

标签 grails grails-orm gsp

我正在按照本教程创建一个 Grails 应用程序:http://grails.asia/grails-tutorial-for-beginners-display-data-from-the-database

但是,当我尝试显示数据库中的数据时,什么也没有发生。下面是我的 Controller 代码:

def index(){
        def users = User.list();
        [users:users]
    }

def displayUsers(){
        if(User.count()==0){
            render 'User list is empty!';
        }else {
            render(view: 'userlist.gsp');
            //a little test
            println User.list().size();
            println User.count();
            for(User u : User.list()){
                println u.username;
            }
        }
    }

User.count() 正在工作,因为我可以在控制台中看到用户名,并且 userlist.gsp 每次都呈现,但似乎我的 View 代码没有看到列表。这是 userlist.gsp 代码:
<body>
    userlist.gsp
    <g:each in="${users}" var="user" status="i">
            <h3>${i+1}. ${user.username}</h3>
    </g:each>
</body>

这段代码有什么问题?在我的类比应用程序中,我一直在执行与上述教程完全相同的步骤,但它似乎不起作用。这特别奇怪,因为我在这个链接下发现了一个类似的问题:grails: show list of elements from database in gsp
它已被标记为已接受的答案。为什么完全相同的方式在我的应用程序中不起作用?

最佳答案

如下渲染 gsp View (将数据作为模型传递)。

render(view: "userlist", model: [userList : User.list()])

现在在 gsp 中获取模型数据如下。
<body>
    userlist.gsp
    <g:each in="${userList}" var="user" status="i">
            <h3>${i+1}. ${user.username}</h3>
    </g:each>
</body>

关于Grails 显示数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49126583/

相关文章:

testing - 为非 GORM 对象构建 Grails 测试数据

java - 在 Grails + Oracle + CLOB 中使用 PropertyNotInList 时出错

grails - Grails中的自定义标签库对象如何工作?

grails - Grails Elfinder插件无法正常工作

grails - Grails GORM约束

hibernate - 如何从grails的映射表中获取值?

grails - 从插件_install.groovy脚本中获取Grails版本

json - 无法使 Grails ObjectMarshaller<JSON> 的实现正常工作

grails - 如何防止子属性被更新?

asp.net-mvc - 什么是 ASP 的 ContentPlaceHolder 的 Grails GSP 等价物?