class BookController {
def list() {
[books:Book.list()]
}
}
控制器
目的
使用底层的 Spring MVC 组件模型配置核心 Grails MVC 架构的插件
示例
控制器
标签库
import java.text.SimpleDateFormat
class FormatTagLib {
def dateFormat = { attrs ->
out << new SimpleDateFormat(attrs.format).format(attrs.value)
}
}
说明
此插件配置 Grails 以在其核心使用 Spring MVC 处理 Web 请求。该插件设置了GrailsDispatcherServlet
和控制器、标签库和 Groovy Server 页面 (GSP) 的必需的 Spring Bean(见下文)
配置的 Spring Bean
-
exceptionHandler
- GrailsExceptionResolver 的一个实例,用于处理异常 -
multipartResolver
- CommonsMultipartResolver 的一个实例,用于使用 Apache Commons File Upload 处理文件上传。如果您不想使用此功能,请在application.groovy
中将 grails.disableCommonsMultipart 设置为 true。请注意,禁用 multipart 处理将影响 g:actionSubmit 的行为,后者需要在 URL 映射阶段检查参数(需要解析 multipart 请求)。 -
groovyPageResourceLoader
- 仅在development
模式或设置了grails.gsp.view.dir
时配置。这是一个 Spring ResourceLoader,知道如何从任意位置加载 GSP 视图 -
groovyPagesTemplateEngine
- GroovyPagesTemplateEngine 的一个实例,此类处理 GSP 视图的呈现 -
jspViewResolver
- GrailsViewResolver 的一个实例,知道如何解析 GSP 视图,并且具有环境感知能力
此插件还将每个 Grails 控制器类配置为 Spring bean 的原型,并将每个 Grails 标签库配置为 Spring bean 的单例