Configuration GWT的服务器端配置
试图避免在这里重新发明轮子。我有一个准备部署的GoogleWebToolkit页面,但是与我通信的webservice在部署的服务器上的相对地址与我的本地测试机器不同 因此,我正在寻找一种简单的方法来部署一些易于编辑的配置文件,我可以将基本设置放在服务器端。关于如何做到这一点,我有一些想法,但这些想法似乎有点不切实际,在我看来,这类问题一定已经有了解决方案(毕竟,每服务器设置是一件非常常见的事情!) 有什么想法吗 编辑:由于这似乎没有引起太多的注意,让我概括一下我的初步想法:在任何其他逻辑之前,先存储一个静态文件,该文件位于我使用AJAX调用查询的GWT文件的本地。当文件返回时,我解析出数据并将它们存储为全局可访问的变量,然后允许页面构建逻辑运行。看起来很笨重,在加载之前等待AJAX返回也有很大的缺点,但它可以工作。还有更好的建议吗?(请?) 我的解决方案: 我自己找到了一个解决方案,但它非常特定于我的具体场景,所以我不知道它对一般用户有多大用处。无论如何,我都会把它贴在这里,以防有人发现它有用 我正在处理的页面实际上是嵌入在ASP.net站点中的GWT控件。利用这一点以及我对GWT Dictionary类的发现,我构建了一个“设置”系统,如下所示: 首先,在ASP.net Web.Config文件中设置我想要的设置(在本例中是Web服务的地址)Configuration GWT的服务器端配置,configuration,gwt,Configuration,Gwt,试图避免在这里重新发明轮子。我有一个准备部署的GoogleWebToolkit页面,但是与我通信的webservice在部署的服务器上的相对地址与我的本地测试机器不同 因此,我正在寻找一种简单的方法来部署一些易于编辑的配置文件,我可以将基本设置放在服务器端。关于如何做到这一点,我有一些想法,但这些想法似乎有点不切实际,在我看来,这类问题一定已经有了解决方案(毕竟,每服务器设置是一件非常常见的事情!) 有什么想法吗 编辑:由于这似乎没有引起太多的注意,让我概括一下我的初步想法:在任何其他逻辑之前,
<appSettings>
<add key="serviceUrl" value="http://mySite.com/myService.asmx"/>
</appSettings>
从那里,我可以在代码中的任意位置调用AppConfig.serviceUrl以获取设置。。。唷!是的,这是一个很长很复杂的方法,但对我来说很有效。亚历山大给出的答案中似乎最符合我的要求,所以悬赏归他,但感谢所有参与我棘手的小问题的人 最简单的方法似乎是将此配置信息存储在
服务器
代码可以访问的地方,即您的serviceinpl
类
对此,您有多个选项,通常是:
- 设置环境变量李>
- 设置系统属性李>
- 在类路径中放置属性文件李>
- 查找JNDIBean
public interface MyConfiguration extends AutoConfiguration {
public String getFoobar();
}
要访问GWT代码中的值,请添加以下简单帮助程序:
private MyConfiguration getMyConfiguration() {
return (MyConfiguration) GWT.create(MyConfiguration.class);
}
创建几个不同的.gwt.xml文件,每个部署服务器一个。然后通过使用父.gwt.xml文件最小化任何重复。有关此主题的更多信息,请阅读
总之,将以下代码段添加到per deployment.gwt.xml中(并确保添加所需的继承行):
希望能有所帮助:)我对你的要求有点困惑 如果您希望编译一次,并在不同的服务器上使用不同的选项运行GWT应用程序,并在GUI构建期间在客户端使用这些选项,那么有很多选项 使用以下方法将信息输入您的程序:
- 环境变量
- 系统属性
- 等
- 对文件的AJAX调用(如您所指定)
- 从JSP而不是静态HTML提供GUI。让JSP将信息嵌入JS变量中,GUI可以使用JSNI调用访问该变量。这节省了你往返的时间
public interface MyConfiguration extends AutoConfiguration {
public String getFoobar();
}
private MyConfiguration getMyConfiguration() {
return (MyConfiguration) GWT.create(MyConfiguration.class);
}
<set-configuration-property name="foobar" value="whee1234" />