2012-01-21 16 views
6

クライアント側で設定パラメータをどこに保存できますか?サーブレットの初期化パラメータ(web.xml)にパラメータを格納することはできません(PHPを使用する必要があるため)。だから私はどのように私はクライアント側のinitアプリケーションのパラメータ(例えば、PHPスクリプトの場所、いくつかのパスワードなど)を格納することができますか?GWTにconfigパラメータを書き込む場所は?

答えて

4

次のオプションがあります:クライアント側のコードで

  1. ストアデータを。 GWTはjavascriptにコンパイルされ、これを行う最も簡単な方法は、ハードコードされた値を持つConfigurationクラスを作成することです。
  2. ブラウザにデータを保存します。 CookieまたはHTML5を使用できます。local storage
  3. サーバー側にデータを格納し、リモートRPCを使用してデータを取得します。

3番目のオプションをお勧めします。

+0

ありがとうございますが、コンパイル後にPHPスクリプトのURLの場所を変更できるファイルはどうですか? Configurationクラスの問題がうまくいかないサーバから情報を取得するには、私のアプリはサーバのURLを知る必要があります:)サーバのURLをハードコードしたくない、ランタイム/ – MyTitle

+0

で読むことができるいくつかのファイルに除外したい、GWTコードはJavaであり、クライアント側にはプロパティファイルはありません。代わりに、実行時に置き換えることができるいくつかのJSファイルに情報を格納する方法があります。 –

1

クライアント側にパスワードを保存していますか?あなたがしたいならOK。それらを保持するクラスを作成するか、静的フィールドにすることも、すべてのパラメータを持つシングルトンオブジェクトにすることもできます。 entryPoint()のものでもあります。

1

クライアント側に非定数パラメータ(パスワードやユーザーデータなど)を格納する標準的でシンプルな簡単な方法は、Cookieです。 Cookies

ハードコード(特定のクラスの静的フィールド)またはresoures .propertiesファイル(See GWT i18n constants interface)に保存できる定数パラメータ。

PS:パスワードを「そのまま」(それは安全ではありません)のようにクライアント側に保存することをお勧めしません。パスワードハッシュ(例:md5)を保存することができます。サーバ側でパスワードハッシュを計算し、このハッシュをクッキーに保存してください。これを行うには

2

おそらく、GWTのDictionaryクラスとCookieクラスを使用すると非常にうれしいでしょう。

あなたのhtmlホスティングファイルでは、varと宣言されたいくつかのjavascriptオブジェクトを管理しています。

モジュールの読み込み時に、設定データを格納するために定義したjavascriptオブジェクトを取得するためにDictionaryクラスを呼び出します。

このようにして、サーバーサイドで管理されたユーザーまたはコンテキスト依存の構成を持つことができます。これは、JSPを使用してホスティングファイルを生成することがあるためです。私はデータベースに保存されているサーバー側のCookieとしてユーザー構成を管理することができました。

だから今日は木曜日です...ユーザはThurなどのマンチェスターUtd FCウェブサイトを訪れた経緯があります。コンテキスト/ユーザーに敏感なアルゴリズムに基づいて別の設定をユーザーに教えてください。そして、月曜日の朝、10時間のエネルギー飲料の広告データをユーザー設定に含めます。

この方法では、gwtクライアントはサーバーから状況依存の設定データを要求する必要はありません。

もちろん、パスワードのような認証/セキュリティデータを保存することはできません。クライアント側のコードに認証/セキュリティデータを格納することを検討する必要があるとは思えません。 JavaScriptの難読化の後でさえ、このようなデータをこのように格納することは、悪意のある意図の永続化へのオープンな招待です。このようなデータは、クライアントサイドのストレージが必要な場合は、GWTクラスのCookieを使用して、クライアントサイドのクッキーによって最適に処理されます。

0

MultiValuedConfigPropertiesthis other helpful tutorialも参照)を使用して構成値を格納できます。それらを使用すると、設定をモジュールの.gwt.xml設定ファイルに保存できます。設定値はJavaScript出力にコンパイルされます。