Большинство тегов-библиотек полагаются на данные с контроллера, поэтому зачастую их невозможно использовать повторно, в то время как другие касаются логики представления, поэтому часто это не то, что вы хотели бы поместить в класс домена.
Тем не менее, я уверен, что у вас есть свои причины, поэтому, возможно, источник taglib поможет:
class ResourceTagLib {
def externalResourceServerService
def resourceLinkTo = { attrs ->
out << externalResourceServerService.uri
out << '/'
if(attrs['dir']) {
out << "${attrs['dir']}/"
}
if(attrs['file']) {
out << "${attrs['file']}"
}
}
}
т.е. вставьте externalResourceServerService в класс вашего домена, а все остальное должно быть простым.