2011-01-22スマートフォン用の表示で見るpenultの日記この広告は、90日以上更新していないブログに表示しています。紹介されていたSNBinderが面白そうなので試してみる。サンプルの内容ブログっぽい何か。サーバ側は、手元の環境が整えやすいのでJSPだけど、そこはどうでもいい。/snbinder/index.htmlHTML。左カラムに「ようこそ」メッセージ、右カラムにブログ記事の一覧が表示される。なっている点については後述。/snbinder/user/info.jspユーザ情報のJSONデータを返すだけ。Vinci"}/snbinder/blog/entries.jspブログエントリ一覧のJSONデータを返す。}]/snbinder/assets/template.htmテンプレート。ような箇所が、JSONデータが埋め込まれる箇所。先頭のドットは、エスケープすることを示す。ドットではなくアンダーラインを使うと、エスケープされない。テンプレートは上記のように「{%}セクション名{%}本体」のようにセクションを分けて1ファイルに複数入れられるらしい。複数回テンプレートを適用する、といった使い方も想定されているっぽい。/snbinder/assets/index.js実際にテンプレートエンジンでビューを構築する部分。全ての結果を結合して返す。});})debugという名前の、上のようなグローバルオブジェクトがないとエラーになる模様。最新バージョンではすでに修正されています。READMEには必要とあるけど、エラーハンドリングやログイン処理のカスタマイズをしないなら、必要ない模様。つきテンプレートを読んで、「セクション名」がキー、「本体」が値になったオブジェクトを第三引数のコールバック関数に渡してくれる。実際の関数名がいくつかREADMEと異なっているので、ソースを読もう。最新バージョンではすでに修正されています。/snbinder/assets/snbinder-0.5.3-modified.js注:最新バージョンではすでに修正されています(コメント参照)。オリジナルから以下を修正した。json);最初のは、IEで文法エラーになるため。typeを指定してJSONデータを返した場合、jQueryは自動でパースしてobjectに直すので、こうしないとエラーになってしまうため。以下のようにJSONデータがテンプレートに埋め込まれて表示された(太字の箇所が「動的」な部分)。デザイン能力がまったくないのでとんでもなくしょぼいけど...IE8とChromeで試したけど、どちらも普通にうまくいった。今時のWebアプリケーションならJavaScriptを書かないということはありえないので、いっそのことMVCのVは完全にHTML+JavaScriptのみに集約してしまう、というのはすごく良さげな気がする。HTMLを操作するならJavaScript(というかjQuery)を使うのが一番楽だし、JSTLやらStrutsやらの汚らしいタグを必死こいて使ってHTMLをこねくり回すのに比べたら遥かにシンプルで自然だ。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。