- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尽量避免在这里重新发明轮子。我有一个准备部署的 Google Web Toolkit 页面,但与我通信的 Web 服务在已部署的服务器上将具有与本地测试计算机不同的相对地址。
因此,我正在寻找一种简单的方法来部署某种易于编辑的配置文件,我可以将基本设置放在服务器端。我有一些关于如何做到这一点的想法,但它们看起来有点老套,在我看来,必须已经有解决此类问题的解决方案(毕竟,每服务器设置是非常常见的事情!)有什么想法吗?
编辑:由于这似乎没有引起太多关注,让我概述一下我最初的想法:在我使用 AJAX 调用查询的 GWT 文件本地存储一个静态文件,然后再进行任何其他操作逻辑。当文件返回时,我解析出数据并将它们存储为全局可访问的变量,然后允许页面构建逻辑运行。看起来很笨重,而且在加载之前等待 AJAX 返回有一个很大的缺点,但它会起作用。还有更好的建议吗? (请问?)
我的解决方案:我自己找到了一个解决方案,但它非常适合我的具体场景,所以我不知道它对一般用户有多大用处。无论如何,如果有人发现它有用,我会把它发布在这里。
我正在处理的页面实际上是嵌入在 ASP.net 站点中的 GWT 控件。利用这一点,以及我对 GWT Dictionary 类的发现,我构建了一个如下所示的“设置”系统:
首先,我想要的设置(在本例中是 Web 服务的地址)在 ASP.net Web.Config 文件中设置
<appSettings>
<add key="serviceUrl" value="http://mySite.com/myService.asmx"/>
</appSettings>
在嵌入 GWT 控件的 ASP 页面中,我添加了一个“静态”JavaScript 对象,其中包含我需要的配置设置:
<head runat="server">
<title>Picklist Manager</title>
<script type="text/javascript" language="javascript">
var AppConfig = {
serviceUrl: "<%= ConfigurationManager.AppSettings["serviceUrl"] %>"
};
</script>
<script type="text/javascript" language="javascript" src="gwtcontrol.nocache.js"></script> <!-- Include my GWT control -->
</head>
最后,在 GWT 中,我创建了一个静态“AppConfig”类,它公开了此设置,如下所示:
public class AppConfig {
public static String serviceUrl = "defaultUrl";
public static void Initialize() {
Dictionary appConfig = Dictionary.getDictionary("AppConfig");
if(appConfig == null) { return; }
servicePath = appConfig.get("serviceUrl");
}
}
从那里我可以在代码中的任何位置调用 AppConfig.serviceUrl 来获取设置...哇!所以是的,这是一个很好的又长又复杂的方法,但它对我有用。在给出的答案中,亚历山大的似乎最符合我正在寻找的内容,因此赏金归他所有,但感谢所有为我的棘手小问题提供帮助的人!
最佳答案
请随意纠正我,但您似乎不需要运行时服务器端配置。如果您确实需要这种灵 active ,或者您想对所有部署使用单个 .zip,则可以使用 Yahoo's Performance Rules 中给出的技术。 -(请参阅“添加过期或缓存控制 header ”部分)- 遥远的 future 过期 header 。这意味着 AJAX 请求将被浏览器大量缓存,并且只会导致第一个请求的速度略有下降。
我实际上建议使用编译时标志和 GWT 提供的属性系统,而不是这样做。为了简化操作,我制作了一个名为 auto-config available on github 的小包。 。使用它使得访问每个部署配置变得非常简单。添加以下类:
public interface MyConfiguration extends AutoConfiguration {
public String getFoobar();
}
要从 GWT 代码访问值,请添加这个简单的帮助器:
private MyConfiguration getMyConfiguration() {
return (MyConfiguration) GWT.create(MyConfiguration.class);
}
创建多个不同的 .gwt.xml 文件,每个部署服务器一个。然后使用父 .gwt.xml 文件最大限度地减少重复。有关此主题的更多信息,请阅读 CompileOnePermutation on the GWT Wiki
总之,将以下代码段添加到您的每个部署 .gwt.xml 中(并确保添加所需的继承行):
<set-configuration-property name="foobar" value="whee1234" />
希望对您有帮助:)
关于configuration - GWT 的服务器端配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1445384/
我在使用 Jade 和 express 时遇到了一些问题。这是 serder 端: router.get('/login', function (req, res) { res.status(2
是否可以使用 JavaScript 服务器端,从而在某些核心计算中不会显示在页面源代码中? 我正在开发一款游戏,代码的一个关键部分只需要在服务器端计算然后传回客户端。 我的整个游戏都是用 Javasc
我正在寻找有关如何使用 ExtJS 4 实现安全页面的信息。我所说的安全页面是指用户将使用 Siteminder (SSO) 登录我们的网站,因此我们将拥有用户的身份。然后我们将通过进行数据库/LDA
我的 Centos 7 服务器正在运行 apache 2.4.6,并且正在使用 mod_wsgi 提供 django webapp。我的问题是我无法从另一台计算机的浏览器访问服务器 url。我没有从
我们收到了客户的请求,要求我们基于 ExtJS 框架构建 Web 应用程序。我查看了互联网,发现 ExtJs 只是一个客户端 javascript 控件,但我认为 Web 应用程序也必须具有服务器端
我有三个组件。 组件一包含组件二和三。 组件二是一个列表。 组件三用于向数据库添加项目。 当我将一个项目保存到数据库时,我想更新组件二中的列表。 我怎么做? 最佳答案 设想 让我们假设:
欢迎, 我正在寻找能使我以尽可能高的格式下载youtube视频的youtube api。 几年前,这项工作更为简单,因为url拥有关于质量的信息,例如“fmt = 22”或“fmt = 6”,我们现在
我想将电子邮件 x@x.com 的用户密码设置为“an”。但代码不起作用。这是我的云代码: Parse.Cloud.define('testSetPasswordForUser', functio
正在阅读http://cocoawithlove.com/2010/03/streaming-mp3aac-audio-again.html这篇文章,想知道如何在服务器端实现它,是否像将文件放在htd
我有一个使用一些 css/javascript 选项卡的 php 脚本,它们在我的本地服务器上运行,但当我上传到我的在线服务器时则不起作用。 只是想知道是否有人知道为什么会出现这种情况?所有路径都
是否可以从 JavaScript 脚本获取服务器端页面的源代码?我希望能够获取服务器上同一文件夹中的页面的源代码。除了javascript之外,是否可以不使用任何其他东西? 最佳答案 如果您想从 ja
.NET 4.0 我正在寻找在我们的服务器上生成Word文档的最简单方法。 局限性: 服务器端 我不想在服务器上安装word 数据源是XML 我试图用XSLT生成快速简单的DOCX,但是我可以找到的用
我正在使用 native jQuery 验证库来验证在联系表单中输入的电子邮件地址。由于这是一个表达式引擎站点,因此我使用其电子邮件验证器作为服务器端备份。 当我输入 test@b.c 时,jQuer
我使用带有服务器端处理的数据表来显示数万行。我需要通过复选框过滤这些数据。我能够制作一个工作正常的复选框,但我不知道如何添加多个复选框以协同工作。我找到了 similar solution在这里,但我
我正在尝试编写一个消息传递应用程序,并且我能够发送消息(显示为服务器客户端正确显示消息)但随后将我的客户端踢出服务器。服务器打印以下错误: java.io.EOFException at java.i
如果设备是移动设备,如何防止侧边栏加载服务器端资源?我了解如何通过 CSS 隐藏,但我更感兴趣的是防止对服务器的调用。 最佳答案 WordPress有一个名为wp_is_mobile()的函数它将检查
我有一个返回 text/event-stream 数据的网址,因此我尝试连接并打印我找到的所有内容: var url = "..." var source = new EventSource(url)
我得到这样的错误列表:{ error: [ "Email is required", "First Name is required"] } 我需要如何修改它,以获取包含字段名称的列表? public
我正在尝试使用 ASIFormDataRequest 将数据发送到 ASP.net 服务器端。我创建了一个aspx页面。目前我可以得到这两个纯文本。但是我不知道如何通过 Request.Form 在
我在 ${host}/api/graphql 有一个可通过 POST 访问的快速 graphql 端点。 在那条路线上,我有身份验证中间件,如果用户未登录,我想重定向到登录页面。 看起来有点像这样。
我是一名优秀的程序员,十分优秀!