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() 创建的链接都有“ http://localhost:8080 ”而不是我指定的 URL。(即它们看起来像“ 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 回答