2011-07-13 48 views
5

是否有一個常規/ Grails的相當於PHP的parse_url(http://php.net/manual/en/function.parse-url.php)或Python的裏urlparse(http://docs.python.org/library/urlparse.html),輪流將URL字符串到含有宿主,協議,查詢字符串,片段,URI等的結構體?Parse_url當量的Grails/Groovy的?

我認爲它可能在grails.org/doc/latest/api/org/codehaus/groovy/grails/web/util/WebUtils.html,但沒有看到任何東西。我不認爲HTTPBuilder或什錦urlMapping中實用程序是什麼,我需要。

我真的只是想拉出一個路徑和查詢字符串,並正確處理邊緣情況(params /blah/fuzz?foo=bar&foo=baz,片段/blah/fuzz?foo=bar#baz,編碼的URL重定向的數組)。

我知道我可以通過巧妙地利用urlMapping中例如處理路徑組件:/blah/$code了,但是我留下了帕拉姆塊解碼...

感謝

回答

7

如果我理解正確的,你真正需要的是普通的老URI類:

new URI('http://google.com/?q=URL').query 
1

擴展@Artur諾瓦克的答案,也許你會需要更多的努力來得到你想要的。這裏有一個例子:

URI dbUri = new URI('http://google.com/?q=URL') 
def username = dbUri?.getUserInfo()?.split(":")?.getAt(0) 
def password = dbUri?.getUserInfo()?.split(":")?.getAt(1) 
def host = dbUri?.getHost() 
def databaseInstance = dbUri?.getPath() 
def url = "jdbc:mysql://" + host + databaseInstance