Bunu yapmanın daha temiz bir yolu olabilir, ancak bir denetleyiciye hata kodu haritalama ve orada mantığını uygulayarak ile var ediyorum: İlgili kontrolör (grails-app
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?" { constraints {} }
"/"(view:"/index")
"403"(controller: "errors", action: "accessDenied")
"404"(controller: "errors", action: "notFound")
"405"(controller: "errors", action: "notAllowed")
"500"(view: '/error')
}
}
ve oluşturulacak /conf/controllers/ErrorsController.groovy):
import grails.util.Environment
class ErrorsController extends AbstractController {
def accessDenied = {}
def notFound = {}
def notAllowed = {}
def serverError = {
if (Environment.current == Environment.DEVELOPMENT) {
render view: '/error'
}
else {
render view: '/errorProd'
}
}
}
Sen grails-app/views/hatalar (accessDenied.gsp, notFound.gsp, vb) ve ayrıca yeni karşılık gelen GSPs oluşturmanız gerekir grails-Uygulama/görüntüleme/errorProd.gsp. Tüm hata kodları için bir denetleyici yöntemine yönlendirerek, gelecekte diğer hata kodu işleyicilerine mantık eklemeyi kolaylaştırırsınız.
Thx. Ben deneyeceğim ve bu konuya güncelleyeceğim. SADECE "500" haritalaması için koşulların olması mümkün değil mi? – fabien7474
Evet. Yukarıdaki sadece bir örnek – tinny
çok teşekkür ederim. İşe yarıyor! – fabien7474