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

将grails默认视图重定向到另一个视图,grails,gsp,Grails,Gsp,这是grails的URL映射类 当我调用http://localhost:8080/Pro时,我被引导到index.gsp页面。但我希望它被重定向到Person/list 我已经编辑了UrlMappings类,但是我得到了404 HTTP Status 404 - /KickStartPro/WEB-INF/grails-app/views/Person/list.jsp / 答案隐藏在你的问题中:但我希望它被重定向到Person/list。因此,根据grails约定重命名文件夹/views/

这是grails的URL映射类

当我调用http://localhost:8080/Pro时,我被引导到index.gsp页面。但我希望它被重定向到Person/list

我已经编辑了UrlMappings类,但是我得到了404

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


答案隐藏在你的问题中:但我希望它被重定向到Person/list。因此,根据grails约定重命名文件夹/views/Person->/view/Person,然后添加PersonController:

然后添加HomeController并重定向到PersonController:

最后,将url映射修改为指向HomeController的poin根url:

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

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

你们有个人控制器吗?甚至是一个脚手架的?如果是这样,则改为重定向到controller方法:/controller:'person',action:'list'。另外,请检查您的Grails application.properties。看起来你的应用程序根目录与“Pro”与“KickStartPro”之间存在一些冲突。什么是HomeController?我找不到它?我是一个新的家庭控制器。你必须创造它。看看这里,或者如果您使用IDEA创建控制器,请右键单击控制器文件夹并选择New->Grails Controlleries,我就是这么做的。我收到此错误-标记[paginate]缺少必需属性[total]知道如何解决它吗?请参阅更新。您没有将所需值传递给GSPW的问题您为什么需要HomeController?您可以直接指向PersonController
class PersonController {

    def list() {}
}
class HomeController {

    def index() {
        redirect(controller: 'person', action: 'list')
    }
}
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()]
}