【问题标题】:Grails invokeMethod doesn't workGrails调用方法不起作用
【发布时间】:2015-10-20 23:29:21
【问题描述】:

我有 2 个获得相同参数的方法:

 void removeJob(def user,def company,String job){}
 void addJob(def user,def company,String job){}

我想使用 invokeMethod() 但我不确定如何使用。 我试试:

def methodName = selectedChange[2]=='true'?'add':'remove'
roleService.invokeMethod(methodName+'Job',[userSelected,      selectedCompany,selectedChange[1]])

但我有错误

【问题讨论】:

    标签: grails


    【解决方案1】:

    您可以使用 GString 作为方法名称动态调用该方法:

    String methodName = selectedChange[2] == 'true' ? 'add' : 'remove'
    roleService."${methodName + 'Job'}"(userSelected, selectedCompany, selectedChange[1])
    

    这也适用于属性,例如

    String propertyName = 'fooCount'
    int count = person."$propertyName"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-19
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-29
      相关资源
      最近更新 更多