package demo
import grails.web.api.WebAttributes
class Helper implements WebAttributes {
List<String> getControllerNames() {
// There is no need to pass grailsApplication as an argument
// or otherwise inject the grailsApplication property. The
// WebAttributes trait provides access to grailsApplication.
grailsApplication.getArtefacts('Controller')*.name
}
}
8 特性
版本 6.2.0
8 特性
概述
Grails 提供了许多特性,这些特性提供对属性和行为的访问,这些属性和行为可以从各种 Grails 工件以及作为 Grails 项目一部分的任意 Groovy 类访问。 许多这些特性会自动添加到 Grails 工件类(例如控制器和标签库)中,并且很容易添加到其他类中。
8.1 Grails 提供的特性
Grails 工件在编译时会自动增强某些特性。
域类特性
控制器特性
标签库特性
以下是框架提供的其他特性的列表。Javadoc 提供了有关每个特性相关的方法和属性的更多详细信息。
特性 | 简要描述 |
---|---|
通用 Web 属性 |
|
Servlet API 属性 |
|
数据绑定 API |
|
请求转发 API |
|
响应重定向 API |
|
响应渲染 API |
|
验证 API |
8.1.1 WebAttributes 特性示例
WebAttributes 是框架提供的特性之一。任何 Groovy 类都可以实现此特性以继承该特性提供的所有属性和行为。
src/main/groovy/demo/Helper.groovy
这些特性与静态编译兼容……
src/main/groovy/demo/Helper.groovy
package demo
import grails.web.api.WebAttributes
import groovy.transform.CompileStatic
@CompileStatic
class Helper implements WebAttributes {
List<String> getControllerNames() {
// There is no need to pass grailsApplication as an argument
// or otherwise inject the grailsApplication property. The
// WebAttributes trait provides access to grailsApplication.
grailsApplication.getArtefacts('Controller')*.name
}
}