2014-02-25 48 views
0

這是grails的URL映射類。將grails默認視圖重定向到另一個視圖

當我打電話給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

你有個人的控制?即使是腳手架?如果是,則重定向到控制器方法: 「/」(controller:'person',action:'list') 另外,請檢查您的Grails application.properties。看起來你在應用程序根目錄之間有一些衝突:'Pro'和'KickStartPro'。 – shuttsy

回答

0

答案就藏在你的問題: 「但我希望它被重定向到人/列表」。所以,重新命名文件夾/視圖/人 - >/視圖/人(根據Grails的約定),然後加入PersonController

class PersonController { 

    def list() {} 
} 

然後重定向添加的HomeControllerPersonController

class HomeController { 

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

最後修改您的UrlMappings至POIN根網址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()] 
} 
+0

什麼是'HomeController'我無法找到它?我是新手 – Illep

+0

「然後添加HomeController」。你必須創建它。在這裏看看http://grails.org/doc/2.3.x/ref/Command%20Line/create-controller.html,或者如果您使用IDEA創建控制器,請右鍵單擊控制器文件夾並選擇New-> Grails controller –

+0

是的,我做到了。我得到這個錯誤 - '標籤[分頁]缺少必需的屬性[總]'任何想法如何解決它? – Illep

相關問題