【问题标题】:Grails 3 restricting columns in index viewGrails 3限制索引视图中的列
【发布时间】:2018-03-30 13:33:46
【问题描述】:

几年后我回到了 Grails,发现效率比以往任何时候都高,但在 Fields 插件和“响应”方法中遇到了一些障碍。我创建了一个具有 hasMany 的域类,但不希望索引视图与指向这些子项的链接杂乱无章。我可以通过放置 _table.gsp 模板并对其进行修改来消除该列,但随后它会在全局范围内应用,这是我不想要的。

我的下一个尝试是在控制器内的域对象上调用“列表”并仅“收集”我想要的列。当我将此结果传递给“响应”时,视图为空,但没有错误。

进一步挖掘,我发现“响应”需要一个 PagedResultList,我收集的它是一个列表的薄包装。但是我上面的步骤返回了一个 ArrayList。我看不到如何构造 PagedResultList 并将 ArrayList 传递给“响应”,但什么也没做。

我最终通过使用“渲染”和老式的手工构建视图获得了所需的外观,但这似乎违背了“响应”和 Fields 插件的简单优雅的目的。

我错过了一些简单的东西吗?

【问题讨论】:

    标签: grails controller views


    【解决方案1】:

    如果您对自己的域满意 generating the views,您可以修改 index.gsp 并指定如下属性:

    <f:table collection="${authorList}" properties="['name', 'city', 'dob']" />
    

    您也可以使用 'except' 指定要跳过的字段,docs here

    【讨论】:

    • 非常感谢迈克,我以为我以前曾在属性和排除方面去过那里,但我认为我应用的是响应方法而不是 f:table 标签,它工作得很好而且符合 Grails 哲学等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 2013-05-30
    • 2016-10-07
    相关资源
    最近更新 更多