Teeda-Ajaxのサンプル
やっと明日から年末休暇になるわけですが、今朝は人が閑散としてましたね。
もうお休みの方が多かったのでしょう。
さて、忘れる前に、S2JSF1.0.xx + Teeda-Ajaxのコードイメージをメモしておきたいと思います。
書く時間が取れないままここまで来たので、少しいい加減に書いちゃいます..(--;
サンプルとしてははこんな感じ。のメモです。
public class HogeDto { /** * ID */ private int eid; /** * NAME */ private String name; public int getEid() { return eid; } public void setEid(int eid) { this.eid = eid; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
- Logic
public class HogeLogic { public HogeDto getHogeDto(String eid); } public class HogeLogicImpl implements HogeLogic { public HogeDto getHogeDto(String eid) { //本来、ここはDaoを使ってDBから値を返す HogeDto hogeDto = new HogeDto(); hogeDto.setEid(eid); hogeDto.setName("myname"); } }
- Diconファイル
<component name="hogeLogic" class="HogeLogicImpl"> <meta name="teeda-ajax" /> <aspect>logicInterceptorChain</aspect> </component>
- HTMLテンプレート
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja" xmlns:m="http://www.seasar.org/maya" m:action="#{hogeAction.initialize}"> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=Windows-31J"/> <meta http-equiv="content-script-type" content="text/javascript" /> <script type="text/javascript"> <!-- //イベント登録 window.onload = function() { //ボタンにイベント処理を割り当てる $i("btnAjax").onclick = btnAjaxClick; } //クリック時処理 function btnActionClick() { Kumu.Ajax.DEBUG = false; //trueにするとページの最後にトレースが表示される var eid = $i("myForm:eid").value; //コールバック関数とコンポーネントへの引数を指定 //サーバのhogeLogic#getHogeDto(String)を呼び出す Kumu.Ajax.executeTeedaAjax(hogeLogic_getHogeDto, [eid]); } //コールバック処理 function hogeLogic_getHogeDto(response) { if (response == null) { alert('データは取得できませんでした'); return; } var name = $i("myForm:name"); //レスポンスとして必要な「HogeDto#getName()」は連想配列(JSON)で返される name.value = response["name"]; } //--> </script> </head> <body> <form name="myForm" id="myForm"> <div> ID:<input id="eid" type="text" value="#{hogeDto.eid}"/> </div> <div> NAME:<input id="name" type="test" value="#{hogeDto.name}"/> </div> <p> <input id="btnAjax" value="Ajax"/> </p> </form> </body> </html>