2008-10-13 36 views

cevap

36

Bunun doğru yol olduğunu iddia etmeyeceğim, ancak işleri başlatmak için bir yoldur. Bir denetleyicinin varsayılan olması çok fazla zaman almaz. UrlMappings.groovy için bir eşleme ekleyin:

class QuoteController { 

    def index = { 
     ... 
    } 
} 

ne yüklemek istediğiniz zaten başka eylemin parçası ise sadece yönlendirme:

class UrlMappings { 
    static mappings = { 
     "/$controller/$action?/$id?"{ 
      constraints { 
       // apply constraints here 
      } 
     } 
     "500"(view:'/error') 
    "/" 
     { 
      controller = "quote" 
     } 
    } 
} 

Sonra artık varsayılan denetleyiciye bir indeks eylemi eklemek

def index = { 
    redirect(action: random) 
} 

Ya da gerçekten bazı yeniden, gidiş bir hizmet mantığı koymak almak için:

+2

:

Aşağıda benim tam UrlMappings.groovy olduğunu. "=" Değerini ":" olarak değiştirene kadar benim için çalışmadı. –

+0

'statik defaultAction =" random "' - dizin eyleminden yeniden yönlendirme yerine, defaultAction statik alanını denetleyiciye değer olarak istenen eylem adıyla ekleyebilirsiniz. – topr

4

İyi yanıt: Dizin sayfası için bir model doldurmanız gerekiyorsa, düz bir index.gsp'yi bir dizin denetleyicisine kullanmanın zamanı gelmiştir.

Kötülük yanıtı: Denetleyicisini '*' olan bir filtre oluşturursanız, statik sayfalar için bile yürütülür.

19

Ed T'nin yukarıdaki örneğini işe yaramadı. Belki de o zamandan beri Grails değişti?

bazı denemeler sonra

ve bazı net altüst ben UrlMappings.groovy bu ile sona erdi:

"/"(controller: 'home', action: 'index') 

Benim HomeController şöyle görünür:

class HomeController { 

    def index = { 
    def quotes = = latest(Quote.list(), 5) 
    ["quotes": quotes, "totalQuotes": Quote.count()] 
    } 

} 

Ve yılında

, bir index.gsp var dosya. Bu index.gsp dosyasını gereksiz görüntülemelere dönüştürür, ben de kaldırdım. Sadece UrlMappings.groovy için

"/index.gsp"(uri:"/")

eklemek için grails 1.3.6 yılında

0

benim için iyi çalıştı. Daha önce açıklandığı gibi yeni bir denetleyici ve eşleştirmeler eklemekle aynı etkiye sahiptir. `: Ben` UrlMappings muhtemelen okumalıymışım "/" { "alıntı" denetleyici} düşünüyorum

class UrlMappings { 

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

     "/"(view:"/index") 
     "500"(view:'/error') 

     "/index.gsp"(uri:"/") 
    } 
} 
+1

uri ile yeniden yönlendirme UrlMappings'te çalışıyor mu? Bunu denedim (biraz farklı bir kullanım için) ve yapmadı. Denetleyicinin boş olduğu bir hatayı aldım. Bir denetleyiciden yönlendirmek için başvurmalıydım. – mcv

İlgili konular