Archive for the ‘DirectWebRemoting’ Category
ざっくりと言ってしまえば、Javaのコードが書ければAjaxできちゃうぜ、いえい!ということです。
例えば、
public class FooClass {
public void call(String str) {
return str+"!!!";
}
}
と書いて、JavaScriptから
var str = FooClass.call("いえい");
alert(str); //いえい!!!
こんな感じでサーバサイドの処理が呼び出せちゃったりします。これはかなり楽、素晴らしい。
http://getahead.org/dwr
こっからDownloadをクリックして、jarファイルを落とします。jarファイル1個でできる、すごーい!
こいつをWEB-INF/libに置いて、web.xmlに
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
マッピングを書いてやる。そしてWEB-INF直下にdwr.xmlを配置して
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr//dwr30.dtd"> <dwr> <allow> <create javascript="FooClass" creator="new"> <param name="class" value="jp.commutalk.dwr.FooClass"> </param> </create> </allow> </dwr>
呼び出したいhtmlに、こんな感じでJavaScriptへのリンクを埋め込む。
<script src='dwr/interface/FooClass.js'></script>
DWRが自動で生成してくれるので、特に使う側はJavaScriptを書く必要がないところがすごいところ。
で、冒頭に書いたようにあたかもJavaのクラスを呼び出すようにして呼び出せる。素晴らしいね。
ここがかなり詳しく書いてあるので、この辺を見て試してみると幸せになれるかも。