【问题标题】:How to import default Grails tag library into JSON Views如何将默认 Grails 标签库导入 JSON 视图
【发布时间】:2023-03-14 19:59:01
【问题描述】:

Grails JSON 视图的新功能很棒,但访问 JSON 视图中的所有 grails 标签库会非常方便。例如,我想访问 formatDate 标记来格式化我的 dateOfBirth 字段,如下所示:

model {
    Person person
}
json {
    id person.id
    displayName person.displayName
    dateOfBirth g.formatDate(date: person?.dateOfBirth, format: 'dd-MM-yyyy')
}

使用 formatDate 标记的好处是我可以利用默认日期格式,还可以导入日期格式属性而无需额外的代码。

我正在使用 Grails 3.2.0 和 Views 1.1.0。

【问题讨论】:

    标签: json grails groovy


    【解决方案1】:

    标签库是 GSP 的一项功能,它是一种视图渲染技术,主要用于渲染定义为标签(HTML、XML 等)的标记。

    JSON 视图旨在呈现 JSON,因此对标签库(即标签)的支持毫无意义,因为标签在 JSON 中不存在。

    【讨论】:

    • 公平点。我想我的目的是能够以标准化的方式访问一些格式化逻辑。我认为因为 g.render 和 g.link 在 JSON 视图中可用,所以也许还有一种方法可以访问其他其他标记,如函数。
    【解决方案2】:

    这样不行吗,

    person?.dateOfBirth?.format('dd-MM-yyyy')
    

    请看这里,Groovy Docs, Date.format(String format)

    【讨论】:

    • 是的,它确实有效,但我只是提供这个作为示例。我希望最终能够访问 JSON 视图中的 Grails 标记库。如果我也可以添加自己的标签库,就像使用 GSP 视图一样,那么我可以添加各种自定义格式逻辑。
    • 我看不出有什么好处,尤其是当人们可以在那里调用函数时。
    猜你喜欢
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多