Я пытаюсь отключить поисковую страницу поиска по умолчанию для поиска (http://localhost/searchable/), но не нашел способ сделать это. Кто-нибудь знает, как это можно сделать, желательно законным способом, но при необходимости прибегать к обману?Отключить grails Поиск по поисковой плагин странице поиска по умолчанию?
5
A
ответ
4
Я обычно перенаправляю обработчики кода ошибки на контроллер, поэтому я могу сделать некоторые записи или что-то еще перед визуализацией представления. Вы можете использовать это здесь также:
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, чтобы скрыть ее существование.
Это хорошая идея, тогда я могу заставить ее выглядеть как любой другой ресурс, который не найден. Мне это нравится! Я создал /views/searchable/index.gsp, чтобы перезаписать тот, который включен в плагин, но я просто избавлюсь от этого и сделаю это таким образом. Благодаря! –
@Burt - есть ли способ отключить/удалить UrlMapping при запуске? Это было бы гораздо более элегантным решением. –
Возможно, вы можете удалить его, но я сомневаюсь, что это будет простое исправление. Кажется хорошим кандидатом на запрос функции. Вероятно, он может быть реализован, когда мы будем использовать пространства имен контроллеров (предварительно v2.2). –