Ändern grails.serverURL hat keine Auswirkung auf createLinkTo ([...], absolut: 'true')?
Frage
Ich versuche, in einer Seite auf einem Grails-Server ein Java-Applet angezeigt werden soll. Ich bin mit Sun praktisch Javascript-Schnipsel für die Anzeige von Applets:
<script src="http://java.com/js/deployJava.js"></script>
<script>
deployJava.runApplet({codeBase:"${createLinkTo(dir:'applet', absolute:'true')}",
archive:"${createLinkTo(dir:'com/steve/applet', file='applet.jar', absolute:'true')}",
code:"com.steve.Applet.class",
width:"500", height:"500"}, null, "1.5");
</script>
In Config.groovy, habe ich die verschiedenen serverURLs up:
environments {
production {
grails.serverURL = "http://10.0.xx.xxx/"
}
development {
grails.serverURL = "http://10.0.yy.yyy:8080/"
}
}
Doch die von createLinkTo erstellt Links () haben alle " http: // localhost: 8080 " statt der URL angegeben ich. (Das heißt, sie sehen aus wie " http: // localhost: 8080 / my-app / Applet " .) Ist das ein Fehler? Gibt es eine Abhilfe?
Lösung
fand ich eine Abhilfe. Anstelle der Verwendung von createLinkTo, ich definierte nur eine neue Variable in Config.groovy:
environments {
development {
grails.appURL = "http://10.0.xx.xxx:8080/my-app"
}
production {
grails.appURL = "http://10.0.yy.yyy"
}
}
In meinem Code, ich dies tun: importieren org.codehaus.groovy.grails.commons.ConfigurationHolder als CH
//...
def appURL = CH.config.grails.appURL
//...
Das zumindest lässt mich ein berechenbares erhalten.