用户昵称的Grails自定义URL映射

时间:2013-05-08 23:07:08

标签: grails controller url-mapping

我有自定义网址名称要求。

每个用户都有一个自定义页面,它必须位于域的根目录

例如:http:www.bemdireto.com.br/eduardo

这将与默认控制器的映射冲突。

应用程序已存在,因此我无法更改控制器URL。

我们已经提出以下代码

 "/$controller/$action?/$id?"{
     controller = {
    def log = Logger.getLogger('br.com.fisgo.UrlMappings')

    log.trace "Verifying if a broker hot site or controller"

    def uri = delegate.getCurrentRequest().getRequestURI()
    log.info "Acessando uri: ${uri}"

    UrlMappingUtil.handleBrokerHotSiteController(uri, {owner ->
       params.owner = owner
       })
    }

        action = {
            def uri = delegate.getCurrentRequest().getRequestURI()
            UrlMappingUtil.handleBrokerHotSiteAction(uri)
        }
    }

方法UrlMappingUtil.handleBrokerHotSiteController会告诉控制器和昵称。

问题是:每个请求正在执行该方法7次。

我找不到原因。

我注意到urlMapping在de UrlMappingsFilter之前调用了3次,之后调用了4次。

1 个答案:

答案 0 :(得分:0)

链接生成器与URLMappings绑定,不使用默认的CachingLinkGenerator时也是如此。

UrlmappingUtil中的部分代码也可能会对其产生影响。

检查页面中的链接数量。如果观察结果仍然相同,您可能希望实施自己的urlmappingevaluator。