API リファレンス
ダウンロード
- RSSの取り出しに失敗しました:http://sourceforge.jp/projects/paraselene/releases/rss
まず、paraselene.war が非同期通信のサンプルになります。こちらを元に非同期通信の方法を説明します。
最初に、非同期通信用の JavaScript を生成します。paraselene.jar にクラスパスを通しておいて、以下のコマンドを実行して下さい。
java paraselene.mockup.MakeScript
引数はありません。
実行すると、その場所に paraselene.js というファイルが生成されます。これが非同期通信用の javascript です。
paraselene.js が提供する関数は、以下の2つです。
| No | 関数名 | 機能 |
|---|---|---|
| 1 | タグ paraselene_get_id( id ) | 指定 id を持つタグを返します。通信に直接関係ありませんが、サービス関数として設けています。 多分、あらゆるブラウザで動くはずです。 |
| 2 | paraselene_ajax_entry( 取得キー, コールバック, 取得周期 ) | サーバーに問い合わせ、その結果を通知するコールバック関数を登録、およびその通信自体を開始します。 コールバックは以下のような定義です。 boolean 関数名( 受信オブジェクト ) 戻り値に false を返すと非同期通信を終了します。 true を返すと、さらに継続して通信を行います。次に取得する時間は、指定した取得周期後です。取得周期の単位はミリ秒です。 サーバーがステータス 200 以外を返すとコールバックは呼ばれず、通信が終了します。 |
paraselene.war では、result.html で非同期通信を行っています。
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44:
<HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>実行結果</TITLE> <LINK rel="stylesheet" href="gui.css" type="text/css"> <STYLE type="text/css"> <!-- .echo { margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; } --> </STYLE> <SCRIPT type="text/javascript" src="paraselene.js"></SCRIPT> <SCRIPT type="text/javascript"> <!-- function command_echo( obj ) { if ( obj.echo ) { var div = document.createElement( 'div' ); div.className = 'echo'; div.innerHTML = obj.echo; var result = paraselene_get_id( 'result' ); result.appendChild( div ); } if ( obj.finish ) { document.forms.to_index.ok.disabled = false; return false; } return true; } // --> </SCRIPT> </HEAD> <BODY onload="paraselene_ajax_entry( 'cmd', command_echo, 1000 );"> <DIV id="result" name="result" style="border-width : 1px;border-style : solid;border-color : gray;"> </DIV> <CENTER> <FORM method="POST" action="index.html" name="to_index"> <INPUT type="submit" name="ok" value="戻る" disabled> </FORM> </CENTER> </BODY> </HTML>