0

grails-app/view の下に「content」という名前のフォルダーを作成し、そこからコントローラーのアクションを必要としないすべての gsp ファイルを提供します。

このビューを提供するために、UrlMapping "/content/$view"(controller:"content") を追加しました。これにより、実際の ContentController なしで /my-app/content/staticGSP を直接呼び出すことができます。これは、問題なくしばらくの間正常に機能しています。

今日、コンテンツ フォルダーの下のビューに直接リダイレクトするフィルターを追加したいと思いました。MYFilter に before Closure を追加しました。

  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、Filter は 404 で応答するだけです。これがなぜなのかわかりません。

どんな洞察も本当に役に立ちます。

ありがとう、アビジット

4

1 に答える 1

0

どうやらhttp://localhost:8080/my-app/content/anotherviewURLマッピングと一致しており、フォルダー"/content/$view"(controller:"content")にビューがありません。フォルダ内にあります。したがって、404.anotherviewstaticanotherviewcontent

静的コンテンツ用に追加したフォルダーの名前はcontentまたはstaticですか? あなたの質問は言うstatic

于 2013-05-08T22:24:49.933 に答える