Отключить Grails Поисковый плагин поисковой страницы по умолчанию?
Я пытаюсь отключить страницу поиска плагина Searchable по умолчанию ( http://localhost/searchable/), но не нашел способа сделать это. Кто-нибудь знает, как это можно сделать, желательно законным способом, но прибегая к хитрости, если это необходимо?
1 ответ
Я обычно перенаправляю обработчики кода ошибки на контроллер, чтобы я мог сделать некоторую запись или что-то еще, прежде чем отображать представление. Вы можете использовать это здесь также:
class UrlMappings {
static mappings = {
"/searchable/$action?"(controller: "errors", action: "urlMapping")
"/$controller/$action?/$id?" { }
"/"(view:"/index")
"403"(controller: "errors", action: "accessDenied")
"404"(controller: "errors", action: "notFound")
"405"(controller: "errors", action: "notAllowed")
"500"(view: '/error')
}
}
где ErrorsController выглядит примерно так:
class ErrorsController {
def accessDenied = {}
def notFound = {
log.debug "could not find $request.forwardURI"
}
def notAllowed = {}
def urlMapping = {
log.warn "unexpected call to URL-Mapped $request.forwardURI"
render view: 'notFound'
}
}
и вам нужно будет создать accessDenied.gsp, notFound.gsp и notAllowed.gsp в grails-app / errors
Отправив "скрытый" контроллер в его пользовательское сопоставление, вы можете зарегистрировать непредвиденный доступ к нему, но все равно отобразить страницу 404, чтобы скрыть его существование.