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>