2012-02-13 101 views
1

这必须是在URLMappings.groovy一个简单的配置,但我不断收到一个404的Grails:URL映射更改控制器名

基本上,我想换一个控制器的名称。例如,我们有控制器名称Content_pdfs_data_etcController.groovy,可怕的URL,我试过

static mappings = { 
    "/mdata/$action?"(controller: "content_pdfs_data_etc", action: 'index') 

    "/$controller/$action?/$id?"{ 
     constraints { 
      // apply constraints here 
     } 
    } 
    "/"(view:"/index") 
    "/"(controller:"home") 
    "500"(view:'/error') 
} 

在控制器中的所有动作应被重定向以及(例如):

/MDATA /展示 - > content_pdfs_data_etc /显示

/MDATA /更新 - > content_pdsf_data_etc /更新

感谢。

+0

BTW什么是背后的原因保持控制器名称Content_pdfs_data_etcController – 2012-02-14 04:45:05

+0

这又是开发商名为控制器,客户回来了,问到改变的URL。我知道我可以重命名控制器/视图目录。 – ibaralf 2012-02-14 06:33:02

+0

是的,如果你能控制代码,最好重命名控制器。 – 2012-02-14 10:24:33

回答

3

感谢您的回答安德鲁。我实际上已经想出了交换映射的顺序与默认的问题。我结束了:

"/$controller/$action?/$id?"{ 
    constraints { 
    // apply constraints here 
    } 
} 
"/mdata/$action?/$id?" (controller: "content_pdfs_data_etc") 
3

尝试取出硬编码的作用,这应该允许$操作变量做它的映射法宝:

"/mdata/$action?"(controller: "content_pdfs_data_etc")