将grails默认视图重定向到另一个视图
这是grails的URL映射类 当我调用http://localhost:8080/Pro时,我被引导到index.gsp页面。但我希望它被重定向到Person/list 我已经编辑了UrlMappings类,但是我得到了404将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/
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()]
}