クラス SqlWhereTag

すべての実装されたインタフェース:
BodyTag, IterationTag, JspTag, Tag, TryCatchFinally, Serializable

public class SqlWhereTag extends CommonTagSupport
and タグで指定された条件を元に、WHERE句を作成します。 各属性は、{@XXXX} 変数が使用できます。 これは、ServletRequest から、XXXX をキーに値を取り出し、この変数に 割り当てます。つまり、このXXXXをキーにリクエストすれば、 この変数に値をセットすることができます。
関連項目:
機能分類
画面部品
形式サンプル:
●形式:<og:where startKey="…" > <og:and startKey="…" ... /> </og:where> ●body:あり(EVAL_BODY_INCLUDE:BODYをインクルードし、{@XXXX} は解析しません) ●Tag定義: <og:where startKey 【TAG】SQL条件句の最初の演算子を指定します(初期値:where) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:where> ●使用例 <og:query command="NEW"> select PN,YOBI,NMEN,HINM from XX01 where PN = '{@PN}' order by PN </og:query> ・検索条件が入力された時({@PN}がNOT NULLのとき) 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 where PN = 'AAA' order by PN ・検索条件が入力されなかった時({@PN}がNULLのとき) 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 where PN = '' order by PN <og:query command="NEW"> select PN,YOBI,NMEN,HINM from XX01 <og:where> <og:and value="PN = '{@PN}%'" /> <og:and value="YOBI like '{@YOBI}%'" /> </og:where> order by PN </og:query> ・検索条件が入力された時({@PN}がNOT NULLのとき) 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 PN = 'AAA%' and YOBI like 'BBB%' order by PN ・検索条件が入力されなかった時({@PN}がNULLのとき) WHERE句がなくなる。 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 order by PN 注意:WhereTagを使った場合、下のようにはなりません。 select PN,YOBI,NMEN,HINM from XX01 PN = '' and YOBI like '%' order by PN <og:query command="NEW"> select PN,YOBI,NMEN,HINM from XX01 where PN="11111" <og:where startKey="and"> <og:and value="YOBI like '{@PN}%'" /> </og:where> order by PN </og:query> ・検索条件が入力された時({@YOBI}がNOT NULLのとき) 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 PN = '11111' and YOBI like 'BBB%' order by PN ・検索条件が入力されなかった時({@YOBI}がNULLのとき) WHERE句がなくなる。 作成されるSQL文⇒select PN,YOBI,NMEN,HINM from XX01 PN = '11111' order by PN
導入されたバージョン:
JDK5.0,
  • コンストラクタの詳細

    • SqlWhereTag

      public SqlWhereTag()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • doStartTag

      public int doStartTag()
      Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
      定義:
      doStartTag インタフェース内 Tag
      オーバーライド:
      doStartTag クラス内 CommonTagSupport
      戻り値:
      後続処理の指示( EVAL_BODY_INCLUDE )
    • doEndTag

      public int doEndTag()
      Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
      定義:
      doEndTag インタフェース内 Tag
      オーバーライド:
      doEndTag クラス内 CommonTagSupport
      戻り値:
      後続処理の指示
      変更履歴:
      3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
    • release2

      protected void release2()
      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
      release2 クラス内 CommonTagSupport
      変更履歴:
      2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加, 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
    • setAttributes

      protected void setAttributes(Attributes attri)
      内部タグの SqlAndTag / SqlAndTag より、個々のカラムの値を書き換える 為のアトリビュートを受け取る。 複数の値を受け取って、後ほど、すべてのカラムに対して処理を行います。
      パラメータ:
      attri - 属性リスト
      変更履歴:
      3.1.0.0 (2003/03/20) Vector を使用している箇所で、非同期でも構わない箇所を、ArrayList に置換え。, 3.1.2.0 (2003/04/07) taglib パッケージ内部で使用している箇所を protected 化する。
    • setStartKey

      public void setStartKey(String skey)
      【TAG】SQL条件句の最初の演算子を指定します(初期値:where)。
      パラメータ:
      skey - 条件句の最初の演算子
      説明:
      SQL条件句の最初の演算子を指定します。
    • getTagName

      protected String getTagName()
      タグの名称を、返します。 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。
      オーバーライド:
      getTagName クラス内 CommonTagSupport
      戻り値:
      タグの名称
      関連項目:
      変更履歴:
      4.0.0.0 (2005/01/31) 新規追加
      このメソッドは、nullを返しません
    • toString

      public String toString()
      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
      toString クラス内 CommonTagSupport
      戻り値:
      このクラスの文字列表現
      このメソッドは、nullを返しません