了解 grails 模板中下划线的用途

Understanding the purpose of the underscore in grails templates

使用 grails 模板和渲染方法并不难。 我用它工作了一段时间。

我应付'Convention over Configuration'没问题。因此,模板 .gsp 文件的文件名开头需要下划线“_”。

我在一般编程方面没有那么丰富的经验,我作为 'IT-specialist for application development' 的学徒已经有 2.5 年了。所以我的背景知识还没有那么丰富。

但我现在真的很想了解下划线的确切用途。 与没有下划线的文件相比,grails 如何处理带有前导下划线的文件?

String view='/path/to/file'
def model= [template:view,instance:bean]
render(view:view, model:model)

这表明模板在呈现模板位时是'/path/to/_file.gsp'

当它呈现视图时它会查找 '/path/to/file.gsp'

所以当您渲染 view 时,它会查找 没有下划线 的文件 当你渲染 template 它会寻找那些 with underscore

上面的例子都解释了它是如何工作的

正如其他人已经指出的那样,下划线表示该文件是一个模板。然而,问题仍然存在"what's the purpose?"

模板的目的是提供一种呈现可重用视图代码片段的方法。这允许您组合非常复杂的视图(例如,考虑功能分解)。模板不由 sitemesh 布局装饰。这在使用 AJAX(或类似技术)进行部分页面更新时非常重要。

documentation 实际上对模板的解释非常好。