2013-01-31 70 views
0

我有一個運行的tomcat在localost設置沒有控制器的過濾器

我希望編寫一個grails過濾器,以便當用戶轉到localhost/filter/時攔截該調用並進行一些處理。我創建了一個過濾器是conf文件夾

class TestFilters { 

    def filters = { 
     filter(uri:'/filter') { 
      before = { 
      } 
      after = {      
      } 
      afterView = {     
      } 
     } 
    }   
} 

內設置此功能後,當我去localhost/filter/我只得到404錯誤。

我在哪裏犯錯?

在此先感謝

回答

1

如果你沒有FilterController網址localhost/filter沒有的ressource顯示 - 讓您得到一個404錯誤。您必須修改您的UrlMappings,以便localhost/filter是有效的應用程序網址。

以下內容添加到UrlMappings.groovy

"/filter" (controller: "yourController", action:"yourAction") 

現在 - URL localhost/filteryourActionyourController和過濾器應適用。

+0

沒有其他辦法可以在不創建控制器的情況下做到這一點?有沒有辦法通過更改'web.xml'文件來做到這一點? – sriram

+0

如果你真的想忽略整個MVC模式,你可以將url映射直接鏈接到視圖。看看[這個SO答案](http://stackoverflow.com/a/9890039/1230366)我發現... – aiolos

+0

感謝您的答案。但是有什麼辦法可以將過濾器路由放入'UrlMapping'中? – sriram