2011-06-20 16 views
0

Struts 2アプリケーションを作成してローカライズしました。今私はjavascriptを使用しています、私は独自のjavascriptファイルに私のHTMLテンプレートのスクリプトを入れたいと思います。Struts 2アプリケーションでjavascriptファイルをローカライズする方法

私がそれをするとき、私のs:テキストタグはレンダリングされません(もちろん)。

質問JavaScriptファイルをStruts 2でクリーンな方法でローカライズするにはどうすればよいですか?私は現在使用しているプロパティファイル以外のテクニックを使用しないようにしたいと思います。あなたのリソースに固執したい場合

おかげで、 クリスチャン

+0

現在のコードを投稿することはできますか? –

+0

私のコードがここで助けになるかどうかわからない: – Christian

答えて

1

のでこの方法は、あなたの支柱の可能な一つの方法は、.jspというファイルとしてJavaScriptファイルを保存して、アクションでそれらを提供することであろう、サーバーに戻ってバンドルあなたのjavascriptファイルのタグは、サーバーからデータを取得し、要求に応じてファイルを返す機会を得ます。
個人的には、クライアントメッセージをリソースバンドルのjavascriptファイルとサーバーメッセージに保存することをお勧めします。この方法で、.jsp処理IMHOを保存することができます。

+0

はい、私はそれをそうする必要があると思った。私はjsファイルのストラット処理も気に入らない。 – Christian

0

JSPで非表示フィールドを使用し、そのIDを外部JavaScriptファイルに渡して、その値を次のように取得できます。同じJSPから外部JSメソッド呼び出し

あなたのJSPで

<s:hidden id="warning" value="%{getText('propertyKey')}"/> 

(プロパティリソースバンドルのキーの値を持つpoplated隠しフィールド)、

<s:a href="%{deleteSelected}"> 
<img src="<s:url value='/images/delete.gif'/>" border="none" 
     onclick="javascript:return displayWarning('warning')"/> 
</s:a> 

外部のJavaScriptファイルには、

function displayWarning(message) { 
    var ret = true; 
    ret = confirm(document.getElementById(message).value); 
    return ret; 
} 
+0

隠しフィールドは実際にはオプションです。私が本当に嬉しい解決策ではありませんが、それは一つです。たぶん、jspテンプレートのヘッダにJavaScript配列を作成します。提案していただきありがとうございます。 – Christian

+0

そのok ...ちょうどあなたに道を見せたいと思った。:)もしあなたが解決策を見つけたら、あなたの解決策を投稿することを忘れないでください...私も同じ問題を抱えています。 –

0

これも可能ですが、関数内に配置することはできません。ページ読み込み時に、関連するプロパティをグローバル変数に割り当てる必要があります。隠された変数を使用するのがほぼ同じ概念です。

関連する問題