grails - 在UrlMappings中串联字符串?

标签 grails groovy

我正在尝试在应用程序中为管理员创建单独的 Controller 。到目前为止,我有这样的事情:

"/admin/article/$action?/$id?"(controller:"adminArticle")
"/admin/comment/$action?/$id?"(controller:"adminComment")

对于所有管理员 Controller ,依此类推。我想使其更简单,尝试:
"/admin/$controller?/$action?/$id?"(controller:"admin" + controller[0].toUpperCase() + controller[1..-1])


"/admin/$controller/$action?/$id?"(controller:"admin$controller")

但这些解决方案均无效。您知道如何使这种映射更加动态吗?

最佳答案

如果使用闭包,则可以自定义 Controller 值。

/$mode/$contr"{
  action = "someAction"
  controller = {
    if (params.mode == "api") {
      return params.contr+"API"
    } 
    else {
      return params.contr
    }
  }
  constraints {
    mode inList:["menu", "api"]
  }
}

我希望这有帮助!

关于grails - 在UrlMappings中串联字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2972627/

相关文章:

groovy - 如何使用Hamcrest来测试异常?

mongodb - Grails Controller不会保留对象

grails - 如何指示域类中的字段不在数据库中创建

java - Groovy Imap 访问

sorting - DefaultGroovyMethod排序可导致版本更改和数据库更新

json - Groovy-JsonSlurper解析JSON文件

grails - Grails-条件映射

grails - SpringSecurity/Grails 如何在运行时动态更改 LoginUrlAuthenticationEntryPoint 中的 loginFormUrl?

java - 我应该在 grails 2.0 中使用哪个 paypal/payment 插件?

groovy - 从 groovy 系统脚本在 Jenkins UI 上显示信息的最简单方法是什么?