に結果を表示するために、loadTotal が呼び出されます
。
$("resultTable").style.display = 'none';
var 寝室 = document.getElementById("寝室").value;
var バスルーム = document.getElementById("バスルーム").value;
var 価格 = document.getElementById("価格").value;
ApartmentDAO.countApartments(loadTotal、ベッドルーム、バスルーム、価格);
}
関数loadTotal(データ) {
document.getElementById("totalRecords").innerHTML = データ;
明らかに
、
ユーザーは自分の検索条件に一致するアパートのリストを見たいと考えています。次に、ユーザーが検索条件に満足し、合計が有効である場合、結果を表示するボタンを押すと、updateResults() JavaScript メソッドが呼び出されます。
関数 updateResults() {
DWRUtil.removeAllRows("アパート本体");
var 寝室 = document.getElementById("寝室").value;
var バスルーム = document.getElementById("バスルーム").value;
var 価格 = document.getElementById("価格").value;
ApartmentDAO.findApartments(fillTable、ベッドルーム、バスルーム、価格);
$("resultTable").style.display = '';
}
関数 fillTable(アパートメント) {
DWRUtil.addRows("アパートボディ", アパート, [ getId, getAddress, getBedrooms, getBathrooms, getPrice ]);
}
updateResults() メソッドは、返された検索結果を格納するテーブル フィールドをクリアし、ユーザー インターフェイスから必要なパラメーターを取得し、これらのパラメーターを DWR によって作成された ApartmentDAO オブジェクトに渡します。次に、データベース クエリが実行され、fillTable() が呼び出されます。これにより、DWR (アパートメント) によって返されたオブジェクトが解析され、ページ (アパートメントボディ) に表示されます。
セキュリティ要素
例を簡潔にするために、ApartmentDAO クラスは可能な限り単純に保たれていますが、そのようなクラスには通常、insert()、update()、delete() などのデータを操作するための set メソッドのセットがあります。 DWR は、すべての HTML ページから呼び出されるすべてのパブリック メソッドを公開します。セキュリティ上の理由から、このようにデータ アクセス レイヤーを公開するのは賢明ではありません。開発者は、すべての JavaScript 関数と基礎となるビジネス コンポーネント間の通信を一元化するファサードを作成して、機能の過剰な公開を制限できます。
結論
この記事は、プロジェクトで DWR を利用した JavaScript :void(0);">AJAX を使用するための始まりにすぎません。DWR を使用すると、アプリケーションの対話モデルを改善する方法に集中できます。 JavaScript コードの作成とデバッグの負担 javascript :void(0);">AJAX の最も興味深い課題は、ユーザビリティを向上させる場所と方法を定義することです。 DWR は、Web ページと Java オブジェクト間の通信を操作する役割を担うため、アプリケーションのユーザー インターフェイスをより使いやすくする方法に完全に集中できるようになります。
この記事を読んで非常に貴重なフィードバックをくれた Mircea Oancea と Marcos Pereira に感謝します。
リソース·javaworld.com:javaworld.com
·Matrix-Java 開発者コミュニティ: http://www.matrix.org.cn/
·onjava.com:onjava.com
・サンプルプログラムの全ソースコードをダウンロード:http://www.javaworld.com/javaworld/jw-06-2005/dwr/jw-0620-dwr.war
·DWR: http://www.getahead.ltd.uk/dwr/index.html
・HSQL: http://hsqldb.sourceforge.net/
·javascript :void(0);">AJAX の定義: http://en.wikipedia.org/wiki/javascript :void(0);">AJAX
· 「javascript :void(0);">AJAX: Web アプリケーションへの新しい道」: Jesse James Garrett (Adaptive Path、2005.2): http://www.adaptivepath.com/publications/essays/archives/000385.php
· 「非常に動的な Web インターフェイス」Drew McLellan (xml.com、2005.2): http://www.xml.com/pub/a/2005/02/09/xml-http-request.html
·XMLHttpRequest & javascript :void(0);">AJAX の動作例: http://www.fiftyfoureleven.com/resources/programming/xmlhttprequest/examples
· 「使用可能な XMLHttpRequest の実践」 Thomas Baekdal (Baekdal.com、2005.3): http://www.baekdal.com/articles/Usability/usable-XMLHttpRequest/
·「XMLHttpRequest 使用ガイドライン」Thomas Baekdal (Baekdal.com、2005.2): http://www.baekdal.com/articles/Usability/XMLHttpRequest-guidelines/