2012-05-12 9 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

タグリブにはビューに関連するロジックが含まれ、サービスにはビジネスロジックが含まれます。私はサービスでtaglibsを使用するための理由を参照してください。あなたがそうしているのなら、おそらく設計ミスです。なぜあなたはサービスでtaglibを使いたいのか理由を教えてください。

+0

私は電子メールを送信するサービスを使用していました。 DRY原理に従うために、私はすでに書かれたコードを使いたいと思っていました。 – zade

+0

私は、taglibでそれを持つ代わりに、いくつかのサービスやユーティリティクラスでその共通ロジックを移動することをお勧めします。 –

2

カスタムタグライブラリをサービスクラスで使用する場合は、以下のコードを使用してください。

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

詳細はhere

関連する問題