2013-07-26 77 views
1

我正試圖縮短URL以訪問我的grails應用程序。目前最短我可以得到它是Grails應用程序索引頁面URL

http://myserver:8080/helloWorld/helloWorld/ 

HelloWorld是控制器名稱和應用程序名稱。我可以把它縮短了莫名其妙所以它只能

http://myserver:8080/helloWorld/ 

我已經URL映射設置爲

class UrlMappings { 

    static mappings = { 
     "/$controller/$action?/$id?"{ 
      constraints { 
       // apply constraints here 
      } 
     } 

     "/"(view:"/index") 
     "500"(view:'/error') 
    } 
} 

回答

3

您可以HelloWorldController默認URL通過改變

"/"(view:"/index") 

"/"(controller: 'helloWorld') 

This使用該控制器中的默認操作(可能爲index());如果你想有一個不同的動作,這樣做:

"/"(controller: 'helloWorld', action: 'theOtherName') 
+0

我可以改變從helloWorld的到別的URL的名稱不改變控制器名稱 – Jabda

+1

是的,@ataylor在他的回答中提到,您可以使用'grails.app.context'更改上下文;在他的例子是空白的,但你可以把它改成什麼,例如'grails.app.context =「/ foo」的' –

3

如果你只有一個控制器,就沒有必要將它的網址。你可以使用下面的映射:

static mappings = { 
    "/$action?/$id?"(controller:'helloWorld') 
    "500"(view:'/error') 
} 

在這種情況下,http://myserver:8080/helloWorld/會去HelloWorldController.index(),而不是服務了index.gsp視圖。

領先helloWorld也是可選的。這些行添加到您的Config.groovy使用根上下文:

grails.app.context = "/" 
grails.serverURL = "http://myserver:8080" 

結合這兩個都會讓你的應用程序通過http://myserver:8080/訪問。

+0

Grails中2.5.4,我只需要2個屬性設定爲能夠利用使用url作爲我的索引的根中的一種:grails.app.context =「/ 「 –