月曜日, 1月 29, 2007

Seasar2.3.X + Ajax(Teeda)

Seasar2.3.x-ийг Ajax-тай хамт яаж хэрэглэхийг хялбархнаар тайлбарлая. Teeda-ийн талаар эндээс харна уу.
Ajax-ийг хэрэглэхийн тулд дараах файлууд хэрэгтэй.
  • Teeda-ajax-xx.jar
  • ajax.js
Гол гол хийх шаардлагатай үйлдлүүдийг тайлбарлая.
Өөрийн application-ийхаа WEB-INF/lib директорт Teeda-ajax-xx.jar файлыг хуулна.

Web.xml файлд AjaxServlet-ийг тодорхойлж өгнө.









Load-on-startup-д нь дурын утга тавиарай.

Ajax.js-ийг хэрэглэх арга:
Хэрэглэх гэж буй HTML файлдаа ajax.js файлыг include хийнэ. жишээ нь:




"Kumu.Ajax.executeTeedaAjax" функцийг дуудаж Ajax-ийг хэрэгжүүлнэ. Энэ функцийг ашиглах үед дараах зүйлийг тодорхойлж өгнө.
  • Буцаалтын функц
  • Параметр
Буцаалтын функц гэдэг нь Ajax-ийг хэрэгжүүлсэний дараагаар буцаж ирэх үр дүнг нь хүлээн авах функц юм. Буцаалтын функц нь доорх дүрэмтэй төстэй байдлаар тодорхойлогдох ба автоматаар дуудах компонент болон функцийн нэрийг шийднэ.
function hoge_foo(response){
// response-д Ajax-ын хариу хадгалагдах юм
alert(response);
}
Kumu.Ajax.executeTeedaAjax(hoge_foo, {"параметр нэр" : "утга"});
"Дуудах компонентийн нэр _ дуудах функцийн нэр" гэсэн байдлаар нэрийг тодорхойлно. Дээрх байдлаар тодорхойлсон үед Dicon-д hoge компонентийн foo функцийг зарласан байх шаардлагатай. Мөн доорх байдлаар тодорхойлж болно.
// Дурын нэрээр тодорхойлох
function test(response){
}
Kumu.Ajax.executeTeedaAjax(test, { "component" : "hoge", "action" : "foo" });

Дүрмийг хэрэглэхгүй тохиолдолд, параметрт компонент, action-ийг тодорхойлно.
Жишээнд hoge компонентийн foo функцийг дуудсан байна.

Параметр:







Дээрх байдлаар HTML-д teeda, kumu гэсэн параметрүүдийг тодорхойлсон байна.

Одоо Сервер талд хийгдэх зүйлийг тайбарлая. Дээр хэрэглэгдэж буй Hoge нь ямар нэг Dicon
файлд дараах байдлаар тодорхойлогдсон байна.







teeda-extension-ийн Ajax нь Dicon-д тодорхойлогдсон дурын POJO-г хэрэглэж чадна.

Дээр ашиглаж буй HogeBean-ний доторхыг харвал:

package examples.ajax;

public class HogeBean {

private String teeda;
private String kumu;

public void setTeeda(String teeda) {
this.teeda = teeda;
}
public void setKumu(String kumu) {
this.kumu = kumu;
}

public String foo() {
return "{ teeda :'" + this.teeda + "', kumu : '" + this.kumu + "' }";
}

}


Kumu.Ajax.executeTeedaAjax-аар тодорхойлогдсон параметрын нэртэй адилхан setter-т
параметрыг автоматаар онооно. Түрүүн Teeda, kumu гэсэн нэртэй параметрыг тодорхойлсон
учраас тэдгээр тус бүрийн Setter-т параметрын утгыг тодорхойлж өгнө. Дуудах функцийн
буцах утга нь String байх параметргүй байна. Foo функц нь Javascript-д буцаах String-ийг
үүсгэх юм. Буцах утгын үндсэн формат нь JSON боловч дурын форматтай байж болно.
  • JSON
  • HTML
  • XML
  • TEXT
Дурын форматаар дамжуулах талаар "teeda-ajax-demo"-ийн "example.html" болон "ExampleBean.java"-ийг заавар болгоно уу. JSON-ийн талаар Эндээс харна уу.
Япон хэлний параметрын талаар гэвэл, Tomcat5.x хувилбарыг ашиглаж байгаа бол server.xml-ийн Connector элементийн useBodyEncodingForURI аттрибутад "true" гэж тохируулна.

Жишээ кодыг эндээс авна уу.

1 件のコメント:

Мика /美香/ さんのコメント...

Ирж буй 2008 оноо тунгалаг оюун, агуу амжилтаар дүүрэн угтаарай.
Шинэ жилийн мэнд хүргэе.
Мика
http://mikarito.blogspot.com/