0

Grails サーバーのページに Java アプレットを表示しようとしています。アプレットを表示するために、Sun の便利な Javascript スニペットを使用しています。

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

Config.groovy で、さまざまな serverURL を設定します。

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

ただし、 createLinkTo() によって作成されたリンクには、指定した URL ではなく、すべて「http://localhost:8080 」が含まれています。(つまり、「 http://localhost:8080/my-app/applet 」のように見えます。) これはバグですか? 回避策はありますか?

4

1 に答える 1

0

回避策を見つけました。createLinkTo を使用する代わりに、Config.groovy で新しい変数を定義しました。

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

私のコードでは、これを行います: import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH

//...
def appURL = CH.config.grails.appURL
//...

これにより、少なくとも予測可能なパスを取得できます。

于 2009-06-12T14:30:46.007 に答える