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
和必要的 Spring beans(如下所示)以供控制器、標籤庫和 Groovy Server Pages (GSP) 使用
已設定的 Spring Beans
-
exceptionHandler
- GrailsExceptionResolver 的執行個體,用於處理例外狀況 -
multipartResolver
- CommonsMultipartResolver 的執行個體,用於處理使用 Apache Commons File Upload 上傳的檔案。如果您不希望使用此功能,請在application.groovy
中將 grails.disableCommonsMultipart 設定為 true。請注意,停用多部分處理會影響 g:actionSubmit 的行為,因為它需要在 URL 對應階段檢查參數(需要剖析多部分要求)。 -
groovyPageResourceLoader
- 僅在development
模式或設定grails.gsp.view.dir
時設定。這是 Spring ResourceLoader,它知道如何從任意位置載入 GSP 檢視 -
groovyPagesTemplateEngine
- GroovyPagesTemplateEngine 的實例,此類別處理 GSP 檢視的呈現 -
jspViewResolver
- GrailsViewResolver 的實例,知道如何解析 GSP 檢視,且具有環境感知
外掛程式也會將每個 Grails 控制器類別設定為原型 Spring bean,以及每個 Grails 標籤庫設定為單例 Spring bean