将grails默认视图重定向到另一个视图

时间:2014-02-25 07:53:25

标签: grails gsp

这是grails的URL Mapping类。

当我呼叫http:// localhost:8080 / Pro时,我会被定向到index.gsp页面。但我希望它被重定向到Person/list

我已经编辑了UrlMappings课程,但我得到了404。

HTTP Status 404 - /KickStartPro/WEB-INF/grails-app/views/Person/list.jsp

/

class UrlMappings {

    static mappings = {
        "/$controller/$action?/$id?"{
            constraints {
                // apply constraints here
            }
        }

        "/"(view:"/Person/list")
        "500"(view:'/error')
    }
}

1 个答案:

答案 0 :(得分:0)

答案隐藏在您的问题中:“但我希望将其重定向到人员/列表”。因此,重命名您的文件夹 / views / Person - > / view / person (根据grails惯例),然后添加 PersonController

class PersonController {

    def list() {}
}

然后添加 HomeController 并重定向到 PersonController

class HomeController {

    def index() {
        redirect(controller: 'person', action: 'list')
    }
}

最后将您的 UrlMappings 修改为指向根网址 HomeController

class UrlMappings {

    static mappings = {
        "/$controller/$action?/$id?"{
            constraints {
                // apply constraints here
            }
        }

        "/"(controller: "home")
        "500"(view:'/error')
    }
}

更新:将所有需要数据传递到列表视图。例如,列表操作可能如下所示:

def list(Integer max) {
    params.max = Math.min(max ?: 10, 100)
    [personInstanceList: Person.list(params), personInstanceTotal: Person.count()]
}