$ALBUM_HOME/grails-app/conf/UrlMappings.groovyに次の記述があります。
"/" (controller: 'user', action: 'list')
これにより"/"へのリクエストが'user' controllerの'list' actionを起動します。
$ALBUM_HOME/grails-app/controllers/UserController.groovyを見ると次の記述があります。
def list = {
makeUserList()
}
…
def makeUserList() {
prepareList()
[ list: User.list(params), paginateCount: User.count() ]
}
listクロージャがあって呼び出しをたどるとmakeUserList()でgspに渡すデータが記述されています。
データはGroovyのマップ型です。
「list」というキーで「User.list(params)」という値をマップにputしています。
Grailsの規約(conventions)ではactionとして登録されたクロージャの次はgspの処理が行われることになってます。
この場合に処理されるgspは次のファイルです。
$ALBUM_HOME/grails-app/views/user/list.gsp
内容を見ると${list}や${paginateCount}といった記述が見つかります。
これは先ほどのマップにputされた値を参照します。
<g:each in="${list}" status="i" var="user">
…
<g:paginate total="${paginateCount}">
このようにしてトップページが表示されます。
0 件のコメント:
コメントを投稿