ajax:htmlContent(サンプル)

JSP

<div id="description"></div>
...
<a href="#" class="contentLink"/>${emp.ename}</a></td>
...
<ajax:htmlContent
    baseUrl="HtmlContent_post.jsp"
    sourceClass="contentLink"
    target="description"
    parameters="ename={ajaxParameter}"
/>

この例では、指定した「スタイルシートクラス名」に対して、イベント設定しています。
contentLinkという「スタイルシートクラス名」を指定したタグについて、htmlContentタグの動作が設定されます。
Ajax通信するURLは、HtmlContent_post.jspです。パラメータは、email=???という形でリクエストされます。
???の部分は、予約語「ajaxParameter」を使っているので、タグ内のコンテンツ、つまりはenameが送られます。
(本来であれば、empnoを送りたいのですが、やり方不明)

Ajaxで呼び出されるJSP

<%
//リクエストされた社員の詳細情報を取得
QueryRunner runner = new QueryRunner((DataSource)request.getAttribute("datasource"));
MapHandler handler = new MapHandler();
request.setAttribute("emp",
        runner.query(
        "SELECT * FROM emp WHERE ename = ?",
        request.getParameter("ename"), handler));
%>
...
    <tr>
        <th>EMPNO:</th>
        <td>${emp.empno }</td>
    </tr>
    <tr>
        <th>ENAME:</th>
        <td>${emp.ename }</td>
    </tr>
...

enameがパラメータとして呼び出されるので、それを条件にDB検索をしています。
DBアクセスの部分は、ajax:htmlContentの内容とは関係ないです。

サンプルプログラム(ソースつき)

データはHSQLDBから検索しています。インプロセスで動作するWebアプリケーションとして作成したので、webappsフォルダに放り込めば、すぐに動作確認できます。

https://app.box.com/shared/3a20khbepu

http://localhost:8080/AjaxTagLibStudy/のようにアクセスすれば、各サンプルが実行できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください