[Seasar-user:13839] Re: [Teeda] Teeda Ajax 事始め
Masao NADAI
[E-MAIL ADDRESS DELETED]
2008年 4月 20日 (日) 16:44:54 JST
小林 (koichik) 様、ひが様
お世話になっております。
> > #XxxService、XxxServiceImpl の構成で、
> > #Bindingしてくれるのかなぁ。
> >
> されますよ。
されました。ありがとうございました。
>> ServiceからSessionの参照の仕方もわかりません。
>
>Dto に @Component アノテーションを付けてインスタンス
>属性を session にします.
>
>@Component(instance=InstanceType.PROTOTYPE)
>public class XxxDto {
> ...
>}
>
>Service クラスでこの Dto をプロパティとして
>持ちます.
>
>public class YyyService {
> public XxxDto xxxDto;
> ...
>}
この方法は、うまくいきませんでした。
sessionSaveにしてみたり、SubapplicationScopeにしたり
してみましたが、Service の xxxDtoは、nullです。
私が、何か勘違いしているのかもしれません。
そして、Serviceに渡したいのは、List<XxxDto>だったりします。
ただ、サービスの設計上、このオブジェクトを引数として渡し
たいのですが、
var startAjaxList = function(){
function ajax_ajaxService_ajaxStartAjaxList(res){
Kumu.Ajax.render(res);
}
Kumu.Ajax.executeTeedaAjax(ajax_ajaxService_ajaxStartAjaxList, []);
};
executeTeedaAjaxの引数で、渡すことは可能でしょうか?
すいませんが、まだまだお伺いしたいです(長文で申し訳ございません)。
teeda-html-exampleのajax.htmlとAjaxPage.javaを見て、
Teeda Ajaxの勉強をしています。
-- サンプルより --
Listを受け取る
var startAjaxList = function(){
function ajax_ajaxPage_ajaxStartAjaxList(res){
Kumu.Ajax.render(res);
}
Kumu.Ajax.executeTeedaAjax(ajax_ajaxPage_ajaxStartAjaxList, []);
};
public Map ajaxStartAjaxList() {
List list = new ArrayList();
for (int i = 0; i < 10; i++) {
ListDto dto = new ListDto();
dto.setNo(i);
dto.setName("user" + Integer.toString(i));
list.add(dto);
}
Map map = new HashMap();
map.put("list", list);
return map;
}
<table border="1">
<thead>
<td>No</td>
<td>UserName</td>
</thead>
<tbody>
<tr id="list" style="display: none;">
<td id="no">ここが変わります</td>
<td id="name">ここが変わります</td>
</tr>
</tbody>
</table>
<input type="button" value="Start Ajax List" id="startAjaxList" />
--------
これで、なぜ、ボタンを押すたびにテーブルに行が追加されて
いくのか理解できません。
どなたか、解説していただけないでしょうか?
また、これを追加ではなく、入替え(元の要素は消して、新しく
受け取ったListの要素を追加)とするにはどうしたらよいでしょうか?
もう1つ、
Pageクラスのメソッドの戻り値をMapで返さなければならない
理由はなんでしょうか?idとの関連付けができないからでしょうか。
できれば、Listで返して、id="~items"で受け取りたいのですが、
--------
var startAjaxList = function(){
function ajax_ajaxPage_ajaxStartAjaxList(res){
Kumu.Ajax.render(res);
}
Kumu.Ajax.executeTeedaAjax(ajax_ajaxPage_ajaxStartAjaxList, [],
{fooItemsと関連付ける記述});
};
public List ajaxStartAjaxList() {
List list = new ArrayList();
for (int i = 0; i < 10; i++) {
ListDto dto = new ListDto();
dto.setNo(i);
dto.setName("user" + Integer.toString(i));
list.add(dto);
}
return list;
}
<table border="1">
<thead>
<td>No</td>
<td>UserName</td>
</thead>
<tbody id="fooItems">
<tr>
<td><span id="no">ここが変わります</span></td>
<td><span id="name">ここが変わります</span></td>
</tr>
</tbody>
</table>
--------
こんな感じで、仕立てることはできないでしょうか?
以上、Teeda Ajaxを始めたばかりなので、外した質問かも
しれませんが、よろしくお願いいたします。
Seasar-user メーリングリストの案内