2012-05-12 2 views
0

네임 스페이스 xyz가있는 사용자 정의 taglib가 있습니다. 서비스에서이 taglib의 메소드에 액세스하려고합니다. 가져 와서 xyz.someFunction()을 사용하면됩니다. 그것은 그것을 인식하지 못합니다. 바깥에서 taglib의 네임 스페이스에 어떻게 접근합니까?서비스중인 taglib에 액세스합니다.

+1

이 링크를 보여줍니다 찾을 수 있습니다. http://stackoverflow.com/questions/2159423/how-to-call-a-taglib-as-a-function-in-a-domain-class –

답변

0

Taglib에는보기와 관련된 논리가 포함되는 반면 서비스에는 비즈니스 논리가 포함됩니다. 나는 서비스에서 taglibs를 사용하는 어떤 이유가 보이지 않는다. 그렇게한다면 아마도 설계상의 실수 일 것입니다. 서비스에서 taglib을 사용하려는 이유를 설명해 주시겠습니까?

+0

이메일을 보내는 서비스를 사용하고있었습니다. DRY 원리를 따르기 위해 나는 이미 작성된 코드를 사용하기를 원했습니다. – zade

+0

나는 taglib 대신에 일부 서비스 또는 유틸리티 클래스에서 그 공통 논리를 옮기는 것이 좋습니다. –

2

서비스 클래스에서 맞춤 taglib를 사용하려면 아래 코드를 사용하십시오.

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

자세한 내용은 저는 믿습니다, here

관련 문제