seaser的框架虽然很好,但因为还算很新的技术吧,中文的资料很少,对于日文不是很好的人来说学习起来还是满有难度的。把自己学习的一点小收获和收集的一些不错的东西都陆续贴出来,希望能方便那些和我一样日文不是很好也在研究这方面内容的朋友们吧,因为初学,很多东西理解的不是很精确,有不对的地方,还望朋友们不吝赐教喽~~
不多说了,先说说teeda的ajax吧
ajax要做的就是要确定,控件-client端动作-server端动作-callback动作,几个步骤。
我今天做的一个实验是一个很简单的例子,第一天学吗,呵呵,是一个text框移出,在下面的层里输出一些持久层查询返回的东西。
html代码:
<?xml version="1.0" encoding="windows-31J"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:te="http://www.seasar.org/teeda/extension" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j" />
<title>myajax Page</title>
<script language="JavaScript" src="../../js/kumu.js"></script>
<script language="JavaScript" src="../../js/ajax.js"></script>
</head>
<script type="text/javascript">
<!--
function mytest_myajaxPage_ajaxStartAjax(res){
alert(res);
document.all.ajaxdiv.innerHTML=res;
}
function onajax(){
Kumu.Ajax.executeTeedaAjax(mytest_myajaxPage_ajaxStartAjax,{"teeda" : document.x.teeda.value});
}
function load(){
//MessageBox('C00001','C','222');
}
//-->
</script>
<body οnlοad="load()">
<form name="x">
<input type="text" id="teeda" οnblur="onajax();"/>
<div id="ajaxdiv"></div>
</form>
</body>
</html>
其中
function onajax(){
Kumu.Ajax.executeTeedaAjax(mytest_myajaxPage_ajaxStartAjax,{"teeda" : document.x.teeda.value});
}
是设定,callback方法部分,其中的规则是
1.mytest_myajaxPage_ajaxStartAjax,这个是设置server端相应方法的,规则是所在package名+"_"+小写字母开头的类名+"_"+调用方法名
2.{"teeda" : document.x.teeda.value}); 是设置传的参数。teeda是参数名 + :+ 参数值;(其中document.x.teeda.value是取html中表单form的name为x标签id为teeda的value值。即<input type="text" id="teeda" οnblur="onajax();"/> 中teeda的值。)。
function mytest_myajaxPage_ajaxStartAjax(res){}实现的callback方法,做的动作就是把传回的东西写到div中,实现异步刷新。
class代码:
package jp.kssol.syanai.juitaku.web.mytest;
public class MyajaxPage {
public String teeda;
public String getTeeda() {
return teeda;
}
public void setTeeda(String teeda) {
this.teeda = teeda;
}
public Class initialize() {
return null;
}
public Class prerender() {
return null;
}
public String ajaxStartAjax() {
//s2dao调用,返回数据库查询值
return this.getTeeda();
}
}
其中ajaxStartAjax是server端的响应方法,命名规则是ajax+函数名
以上就是大概的一个设置的规则和过程
注意几点
1
<script language="JavaScript" src="../../js/kumu.js"></script>
<script language="JavaScript" src="../../js/ajax.js"></script>
这两个东西是teeda的ajax的共通JS一定要引用进来
2
convention.dicon中的根目录一定要设置