2009-06-11 19 views
0

Grailsサーバ上のページにJavaアプレットを表示しようとしています。私はアプレットを表示するためのSunの便利なJavaScriptのスニペットを使用しています:しかし、createLinkTo(によって作成されたリンク)すべてが「持っているgrails.serverURLを変更してもcreateLinkTo([...]、absolute: 'true')には何の影響もありません。

environments { 
    production { 
     grails.serverURL = "http://10.0.xx.xxx/" 
    } 
    development { 
     grails.serverURL = "http://10.0.yy.yyy:8080/" 
    } 
} 

:Config.groovyで

<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> 

、私は別のserverURLsを設定しましたhttp://localhost:8080 "と入力してください。 (「http://localhost:8080/my-app/applet」のように表示されます)。これはバグですか?回避策はありますか?

答えて

0

回避策が見つかりました。代わりにcreateLinkToを使用しての、私はちょうどConfig.groovyで新しい変数に定義:CH

//... 
def appURL = CH.config.grails.appURL 
//... 
として 輸入org.codehaus.groovy.grails.commons.ConfigurationHolder:私のコードでは

environments { 
    development { 
     grails.appURL = "http://10.0.xx.xxx:8080/my-app" 
    } 
    production { 
     grails.appURL = "http://10.0.yy.yyy" 
    } 
} 

を、私はこれを行います

これは少なくとも、予測可能な経路を得ることができます。

+0

参考までに、この 'g.createLinkTo'は推奨されていません。ここで 'g.resource'を使うべきです –

関連する問題