我正在尝试在Grails服务器上的页面中显示Java小程序。我正在使用Sun的方便的Javascript代码段来显示applet:
<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”。)这是一个错误吗?有解决方法吗?
答案 0 :(得分:0)
我找到了解决方法。我没有使用createLinkTo,而是在Config.groovy中定义了一个新变量:
environments {
development {
grails.appURL = "http://10.0.xx.xxx:8080/my-app"
}
production {
grails.appURL = "http://10.0.yy.yyy"
}
}
在我的代码中,我这样做: 将org.codehaus.groovy.grails.commons.ConfigurationHolder导入为CH
//...
def appURL = CH.config.grails.appURL
//...
这至少让我得到了一条可预测的路径。