如何在Grails 3中的自定义标记库类中获取服务bean

时间:2017-09-28 05:58:19

标签: java groovy grails3

我想从自定义标记库中的应用程序上下文中获取服务bean。我将从自定义标记属性中获取服务名称。

这是我之前使用的代码。

class CustomTagLib {
    static defaultEncodeAs = [taglib:'html']
    //static encodeAsForTags = [tagName: [taglib:'html'], otherTagName: [taglib:'none']]
    def selectList = { attrs ->
        try{
            String servName=attrs.service
            String servMethod=attrs.method
            ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(session.getServletContext())
            def myservice=ctx."${servName}"

            attrs.from = myservice.invokeMethod(servMethod,null);
            out << g.select( attrs )
        }catch(Exception e){
            println("Exception in CustomTagLib in method selectList:"+e)
        }
    }
}

此代码适用于Grails 2.3版本,但不适用于版本3。 请帮我找一个解决方案。

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

else if

其中servName将是您的服务名称,其首字母大小写为&amp;其余的骆驼案例