戯言

つらつらと気づいたことを書いていきます。人狼とか。

スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

JSONとの相性が抜群!クライアント側でのメッセージ定義方法


最近のWebアプリは、サーバはJSONを吐く機械と化しており、クライアントサイドでサーバから得たデータからViewを作ることが多いのではないでしょうか。最近のネットワーク広帯域化や、クライアントマシンのスペック向上などに伴い、サーバから一括でデータをもってきて、クライアント側でゴリゴリ処理する、となりつつあります。
このようなシステムでは、クライアント側Javascriptでの処理が多くなるため、「○○を更新しました」、「○○は必須入力です」などのメッセージなども、Javascript内に情報を保持しています。これらのメッセージをスマートに定義する方法として、私はcprintfというjavascriptのライブラリを利用しています。
//メッセージの定義
var MSG_YYYYMM_OUTPUT = %{year} 年 %{month} 月のデータを出力しました。

//メッセージの表示
data = {year:2013, moth:10};
alert( cprintf(MSG_YYYYMM_OUTPUT, data) );
cprintfの第2引数には、JSONデータをそのまま指定できるので、サーバから取得したJSONデータをそのままメッセージ表示用に利用することもできます。
//メッセージの表示(angularjsでRESTリクエスト版)
$http({	method: GET,
		url:/getData,
		}) 	
.success(function(data){
	alert(cprintf(MSG_YYYYMM_OUTPUT, data));
})
JSONでデータ送受するRESTなどとは、抜群に相性が良いです。

スマートに書けてると思うのですが、いかがでしょうか。

cprintfは、こちらのサイトで提供されています。
http://anon21.qlookblog.net/20101007.html








スポンサーサイト

jconsoleでなぜか接続できない!?


監視パソコンAからサーバBのJavaプログラムを監視する状況とします。サーバBのJavaプログラムの起動オプションで、
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=10080
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true
などのjconsole関連のパラメータを正しく設定していても、監視パソコンAからサーバBにjconsoleで接続できないという場合は、サーバBのhostname -iをチェック。

監視パソコンAからサーバBに接続しにいく際に指定するIPアドレスが、 hostname -i コマンドで返ってくるアドレスと同値でなければならないです

もし、127.0.0.1などが期待と異なるIPアドレスが返ってくる場合は、サーバBの hosts ファイルの記述を見直してください。



Eclipseのエクスポートから、warファイルを出力できない


Eclipseのプロジェクトで、[エクスポート]メニューからwarファイルを出力しようとすると、「モジュール名が無効です」と言われて出力できないケースがありました。
プロジェクトを右クリック→[プロパティ]→[プロジェクト・ファセット]→[動的 Web モジュール]にチェックで、解決できました。

どうやら、warファイル出力は、[Webプロジェクト]に与えられた機能のようで、
上記設定の[動的 Web モジュール]にチェックすると、該当プロジェクトを[Webプロジェクト]として認識するようです。
(アイコンの左上に地球儀のようなマークが付きますしね)
エクスポートメニューを開いたときに、[Webプロジェクト]の欄が空白で何も選択できないのが変だなとは思っていましたが、そういうことか・・・。






上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。