2013-05-08 67 views
0

我已經在grails-app/view下創建了一個名爲'content'的文件夾,並從那裏提供所有不需要控制器操作的gsp文件。奇怪的過濾器行爲

爲了提供這個視圖,我添加了一個UrlMapping「/ content/$ view」(controller:「content」)。這使我可以直接調用/ my-app/content/staticGSP而不需要實際的ContentController。這工作很好,一段時間沒有任何問題。

今天,我想添加一個過濾器,它將直接重定向到內容文件夾下的視圖。我在MYFilter之前添加了一個閉包。

all(controller: "*") { 
     before = { 
      if(onSomeCond){ 
       redirect(controller: 'content', action: 'seamless') 
       return false 
      } 
      return true 
     } 
    } 

此過濾器正常工作,如果我嘗試一個URL http://localhost:8080/my-app/home/index。這裏我的應用程序中有一個HomeController。 但是,如果我嘗試http://localhost:8080/my-app/content/anotherview,那麼過濾器只是迴應一個404。我無法弄清楚爲什麼這是。

任何洞察將是非常有幫助的。

感謝, 阿濟斯

回答

0

顯然http://localhost:8080/my-app/content/anotherview相匹配的URL映射"/content/$view"(controller:"content")和你沒有在static文件夾的視圖anotherviewanotherview位於content文件夾內。因此,404。

您爲靜態內容添加的文件夾的名稱是contentstatic?你的問題說static

+0

道歉。文件夾名稱是'content'。我已經更新了這個問題。 – 2013-05-09 03:54:13