ここでホイールを再発明しようとしないでください。私は配備の準備をしているGoogle Web Toolkitのページを持っていますが、私が通信しているウェブサービスは、ローカルのテストマシンとは異なる配備されたサーバ上に相対アドレスを持っています。GWTのサーバー側構成
このように、簡単に編集できる設定ファイルを使って簡単にデプロイする方法を探しています。サーバー側で基本設定を行うことができます。私はそれを行う方法についていくつかのアイデアを持っていますが、いくらかハッキーに見えます。この種の問題の解決策が既に存在しているように思えます(サーバーごとの設定は非常に共通です)。
アイデア
編集:これは多くの注目を集めているように見えないので、私は私の最初の考えの概要を説明してみましょう:私は、他のロジックの前にAJAX呼び出しを照会GWTファイルにローカルな静的なファイルを保存します。ファイルが返されると、データを解析してグローバルにアクセス可能な変数として格納し、ページ構築ロジックを実行できるようにします。 clunkyと思われます.AJAXがロード前に戻るのを待つ大きな欠点がありますが、うまくいくでしょう。より良い提案はありますか? (?してください)
マイソリューション: 私は自分自身で解決策を見つけたが、私はそれが一般のユーザーになりますどのように有用かわからないので、それは私の正確なシナリオにかなり具体的です。とにかく、誰かがそれが有用であると感じるオフチャンスに私はここに投稿します。
私が取り組んでいるページは、実際にはASP.netサイトに埋め込まれたGWTコントロールです。
まず、私が望む設定(この場合はWebサービスへのアドレス)がASPに設定されています
<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で:GWTコントロールを埋め込んだASPページで、.NETのWeb.configファイル
<appSettings>
<add key="serviceUrl" value="http://mySite.com/myService.asmx"/>
</appSettings>
は、私は私が必要javascriptの設定の設定を含むオブジェクト「静的」を追加します私はこのような設定を公開する静的な "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を呼び出すことができます!ええ、それはそれについて行くための素晴らしい長い複雑な方法ですが、それは私のために動作します。アレキサンダーズの答えは、私が探していたものと最もよく似ているようですので、恩恵は彼に行きますが、スティッキーな小さな問題に取り組んだ皆さんに感謝します!
あなたの2番目のリンクは働いていました:)私は最初のものは面白い書式であると思っていますが、それはポイントを取得します。私はこの方法を検討しています... – Toji
うわー...それはかなり複雑な例です。私はそれを見なければならない部分がわからない。 PropertyOracleはジェネレータを介して取得するものですが、ジェネレータは私のために何を行いますか、どのように使用しますか?私は通常これらのことを読んでいるとかなり良いですが、私はこの場合多くの文脈が欠けているように感じます。 : – Toji
プロジェクトにはこれが必要なので、今すぐ掘り下げよう。 –