0

いくつかのページがあります。1つは「Who we areページ」(ランディングページ)、3つの「登録」ページがあり、それぞれが異なることを尋ね、「連絡先」ページがあり、場所、電話、電子メールなどに関する情報が記載されています. したがって、ユーザーが 2 番目の登録ページにアクセスすると、URL は "/controller/action" と表示されます。URL のコントローラー部分を削除したいのですが、URL でアクションの名前が「reg3」の場合は、「registration3」などを表示する必要があります。

URLMappings.groovy ファイルで実現可能であると読みましたが、それがどのように機能するかを完全には理解していません。これは私の URLMappings.groovy です

static mappings = {
    "/$controller/$action?/$id?"{
        constraints {
            // apply constraints here
        }



            "/registro"
             {
                controller = "Registro"
                action = "registro_page"
             }
             "/registro2"
             {
                 controller = "Registro"
                 action = "reg2"
             }

             "/registro3"
             {
                 controller = "Registro"
                 action = "reg3"
             }
             "/contacto"
             {
                 controller = "Registro"
                 action = "contacto"
             }
             "/quienes_somos"
             {
                 controller = "Login"
                 action = "auth"
             }


    }
    "/registro" (controller:'Registro', action:'registro_page')
    "/registro2" (controller:'Registro', action:'reg2')
    "/registro3" (controller:'Registro', action:'reg3')
    "/contacto" (controller:'Registro', action:'contacto')
    "/quienes_somos" (controller:'Registro', action:'home')
    "/"(controller:'redirigir',action:"redirigir")
    "500"(view:'/error')

    "/login/$action"(controller: "login")
    "/logout/$action"(controller: "logout")
}

私が言ったように、私は自分が何をしているのか知っているかどうかわかりません...

どんな助けでも大歓迎です。ありがとうございました。

4

2 に答える 2

1

documentationによると、あなたがしていることはそれほど遠くないはずです。

上部は私には間違っているようです、単一行のマッピング

"/registro" (controller:'Registro', action:'registro_page') 

十分なはずです。

次に、スキャフォールディングされたビューを処理する必要があります。ビューはカスタム URL マッピングを認識せず、「古い」リンクを作成します。自動生成されたすべてのリンクを手動で調整する必要があります。

于 2013-01-15T10:16:25.050 に答える
1

いくつかの論理エラーがあります。最も顕著なのは、

        "/registro"
         {
            controller = "Registro"
            action = "registro_page"
         }

デフォルトのマッピングに属するブロック内にあるブロック"/$controller/$action?/$id?"それらを完全に削除することから始めて、

static mappings = {
    "/$controller/$action?/$id?"{
        constraints {
            // apply constraints here
        }
    }
    "/registro" (controller:'Registro', action:'registro_page')
    "/registro2" (controller:'Registro', action:'reg2')
    "/registro3" (controller:'Registro', action:'reg3')
    "/contacto" (controller:'Registro', action:'contacto')
    "/quienes_somos" (controller:'Registro', action:'home')
    "/"(controller:'redirigir',action:"redirigir")
    "500"(view:'/error')

    "/login/$action"(controller: "login")
    "/logout/$action"(controller: "logout")
}

少なくとも開始するには、これで機能するはずです。

于 2013-01-15T10:15:13.243 に答える