ऐसा करने के एक क्लीनर तरीका हो सकता है, लेकिन मैं एक नियंत्रक के लिए त्रुटि कोड मानचित्रण और वहाँ तर्क से निपटने के साथ मिल गया था:
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')
}
}
और फिर बनाने के इसी नियंत्रक (grails-ऐप /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'
}
}
}
आप grails एप्लिकेशन के अंतर्गत/विचारों/त्रुटियों (accessDenied.gsp, notFound.gsp, आदि) और भी नए में इसी GSPs बनाने की आवश्यकता होगी grails एप्लिकेशन के अंतर्गत/विचारों/errorProd.gsp। सभी त्रुटि कोडों के लिए नियंत्रक विधि पर रूटिंग करके आप भविष्य में अन्य त्रुटि कोड हैंडलर में तर्क जोड़ना आसान बनाते हैं।
स्रोत
2010-05-27 20:51:22
Thx। मैं कोशिश करूँगा और इस धागे को अद्यतन करूंगा। क्या "500" मैपिंग के लिए केवल अगर स्थिति हो सकती है? – fabien7474
हां। उपरोक्त एक उदाहरण है – tinny
बहुत बहुत धन्यवाद। यह काम करता हैं! – fabien7474