Ich muss das statische Ressourcen-Plugin (http://www.grails.org/Static+Resources+Plugin) aus meiner Domänenklasse aufrufen.So rufen Sie ein Taglib als Funktion in einer Domänenklasse
Das funktioniert perfekt in einem Controller:
def tstLink = resourceLinkTo(dir:"docs/${identifier}",file:originalFileName)
aber in einer Domäne Klasse I
Exception Message: No signature of method: static org.maflt.ibidem.Item.resourceLinkTo() is applicable for argument types: (java.util.LinkedHashMap) values: [[dir:docs/19e9ea9d-5fae-4a35-80a2-daedfbc7c2c2, file:2009-11-12_1552.png]]
bekomme ich nehme an, das ein generelles Problem ist.
Also wie nennt man eine Taglib als Funktion in einer Domain-Klasse?
ich gerade:
Dann in meiner Domain-Klasse, ich auf den Dienst über Feder autowiring auch bekommen könnte stieß auf genau das gleiche Problem und wollte diese Frage selbst stellen, bevor sie Ihre fand. –
Die angenommene Antwort ist gut für allgemeine Taglib-Aufrufe, aber für den speziellen Anwendungsfall des Generierens von Links können Sie die 'grailsLinkGenerator'-Bean in Ihrem Service nur durch' def grailsLinkGenerator' in Ihrer Serviceklasse erhalten. Dann können Sie die Methode 'link' aufrufen und Parameter übergeben oder auf die Eigenschaft' serverBaseURL' zugreifen. –
@TedNaleid diese Option war zu dem Zeitpunkt, als ich meine Antwort schrieb, nicht verfügbar. Das wäre der sauberere Ansatz. –