カスタム URL 名の要件があります。
各ユーザーにはカスタム ページがあり、ドメインのルートにある必要があります。
例: 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 が UrlMappingsFilter の前に 3 回呼び出され、その後に 4 回呼び出されることに気付きました。