禁用grails可搜索插件默认搜索页面?

禁用grails可搜索插件默认搜索页面?,grails,searchable,Grails,Searchable,我正在尝试禁用可搜索插件默认搜索页面(),但还没有找到一种方法。任何人都知道如何做到这一点,最好是以合法的方式,但如果有必要,可以采取欺骗手段?我通常会将错误代码处理程序重新路由到控制器,以便在渲染视图之前进行一些日志记录或其他操作。您也可以在此处使用: class UrlMappings { static mappings = { "/searchable/$action?"(controller: "errors", action: "urlMapping")

我正在尝试禁用可搜索插件默认搜索页面(),但还没有找到一种方法。任何人都知道如何做到这一点,最好是以合法的方式,但如果有必要,可以采取欺骗手段?

我通常会将错误代码处理程序重新路由到控制器,以便在渲染视图之前进行一些日志记录或其他操作。您也可以在此处使用:

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'
   }
}
您需要在grails app/errors中创建accessDenied.gsp、notFound.gsp和notAllowed.gsp


通过将“隐藏”控制器发送到其自定义映射,您可以记录对其的意外访问,但仍会呈现404页面以隐藏其存在。

这是一个好主意,然后我可以使其看起来像任何其他未找到资源的错误。我喜欢!我已经创建了一个/views/searchable/index.gsp来覆盖插件中包含的一个,但是我将通过这种方式去掉它。谢谢@Burt-是否有某种方法可以在启动时禁用/删除UrlMapping?这将是一个更加优雅的解决方案。您可能可以删除它,但我怀疑这是否是一个简单的修复方法。似乎是功能请求的一个很好的候选者。当我们使用控制器名称空间(暂定为v2.2)时,它可能会得到实现。不要忘记添加以下URI,否则它仍然处于打开状态:
“/searchable”(控制器:“errors”,操作:“urlMapping”)