2012-05-12 3 views
0

У меня есть пользовательский taglib с пространством имен xyz. Я хочу получить доступ к методам этого taglib в службе. Если я импортирую его и использую xyz.someFunction(). Он не признает этого. Как мы получаем доступ к пространству имен taglib извне?Доступ к taglib в службе

+1

Эта ссылка показывает вам, я считаю. http://stackoverflow.com/questions/2159423/how-to-call-a-taglib-as-a-function-in-a-domain-class –

ответ

0

Taglibs содержат логику, связанную с представлением, тогда как службы содержат бизнес-логику. Я не вижу причин использовать taglib в сервисах. Если вы это делаете, это, вероятно, ошибка дизайна. Не могли бы вы объяснить причину, почему вы хотите использовать taglib в сервисах?

+0

Я использовал услугу, отправляющую электронные письма. И для того, чтобы следовать принципу DRY, я хотел использовать уже написанный код. – zade

+0

Я бы предложил переместить эту общую логику в какой-то сервисный или служебный класс, а не в taglib. –

2

Если вы хотите использовать свой собственный taglib в классе обслуживания, используйте приведенный ниже код.

def c = grailsApplication.mainContext.getBean('com.custom.MyCustomTagLib'); 
int age = c.calculateAge(dob); 

Более подробную информацию можно найти here

Смежные вопросы