JSTLリファレンス(逆引き)

JSPリファレンス
 
Web struts.wasureppoi.com
データベースのレコードを取得する:<sql:query>
スポンサード リンク

データベースのレコードを取得するには、<sql:query>タグを使用します。

<sql:query>タグの属性
属性 必須 説明
var レコード取得結果(ResultSetオブジェクト)を格納する変数名
scope × 「var」属性で指定した変数を格納するスコープ「page、request、session、application」を指定する。 デフォルトはpageスコープ
dataSource × データベースコネクションが格納されいる変数名
sql   SQL文を指定する
maxRows   最大取得件数を指定する。デフォルトは全レコード
startRow   レコード取得開始行。デフォルトは先頭行

※<sql:query>タグの呼び出し方は、単一タグとして呼び出す場合と、タグ本体にSQL文を記述する場合の3通りあります。

●単一タグ
  <sql:query sql="select * from emp" var="rs" 〜 >


●タグ本体にSQL文を記述
  <sql:query var="rs" 〜 />
     select * from emp
   </sql:query>

  <sql:query sql="select * from emp where emp_id=? and create_date=? " var="rs" 〜 />
    <sql:param value="E01" />               ・・・・ 日付型以外のパラメータ
    <sql:dateParam value="${today}" type="DATE" /> ・・・・ 日付型パラメータ
   <sql:query>

  <sql:query var="rs" 〜 >
    select * from emp where emp_id=? and create_date=?
    <sql:param value="E01" />               ・・・・ 日付型以外のパラメータ
    <sql:dateParam value="${today}" type="DATE" /> ・・・・ 日付型パラメータ
   <sql:query>


例1) 表「emp」のselect結果を表示する

<%@ page language="java" contentType="text/html;charset=Windows-31J"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>

<html><body>

<sql:setDataSource dataSource="jdbc/datasource" var="db"/>

<sql:query var="rs" dataSource="${db}" >select * from emp</sql:query>

<table border="1">

 <c:forEach var="rec" items="${rs.rows}" >
  <tr>
    <td><c:out value="${rec.emp_id}" /></td>
    <td><c:out value="${rec.emp_name}" /></td>
    <td><c:out value="${rec.salary}" /></td>
  </tr>
 </c:forEach>

</table>

</body></html>


実行結果

 
例2) 表「emp」のselect結果を表示する。where句にパラメータを指定する。

<%@ page language="java" contentType="text/html;charset=Windows-31J"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>

<html><body>

<sql:setDataSource dataSource="jdbc/datasource" var="db"/>

<sql:query sql="select * from emp where salary > ? " var="rs" dataSource="${db}" >
   <sql:param value="200" />
</sql:query>

<table border="1">

<c:forEach var="rec" items="${rs.rows}" >
 <tr>
   <td><c:out value="${rec.emp_id}" /></td>
   <td><c:out value="${rec.emp_name}" /></td>
   <td><c:out value="${rec.salary}" /></td>
 </tr>
</c:forEach>

</table>

</body></html>


実行結果


スポンサード リンク

Databaseタグの種類
データベースへ接続する:<sql:setDataSource>
データベースのレコードを取得する:<sql:query>
データベースにレコードを登録/更新/削除する:<sql:update>
トランザクションを定義する:<sql:transaction>
パラメータを指定する:<sql:param>
日付型のパラメータを指定する:<sql:dateParam>

JSTLへ
忘れっぽいエンジニアのJakarta Strutsリファレンス TOPへ