Request インターフェイス

public abstract interface Request

CustomTag タグに対して生成されたリクエストへのインターフェイス。このインターフェイスには、タグに渡された属性 (クエリなど) を取り出したり、グローバル タグ設定値を読み込んだりするためのメソッドが含まれています。

メソッド

戻り値
構文
説明
boolean
 
attributeExists(String name) 
 
このタグに属性が渡されたかどうかをチェックします。
boolean
 
debug() 
 
タグに DEBUG 属性があるかどうかをチェックします。
String
 
getAttribute(String name) 
 
渡された属性の値を取り出します。
String
 
getAttributeList() 
 
タグに渡される属性名のリストを取り出します。
int
 
getIntAttribute(String name) 
 
渡された属性の整数値を取り出します。
int
 
getIntAttribute(String name, 
  int def)
 
渡された属性の整数値を取り出します。属性がないか、または属性が無効な場合は、既定値を返します。
Query
 
getQuery() 
 
タグに渡されたクエリを取り出します。
String
 
getSetting(String name) 
 
グローバル カスタム タグ設定の値を取り出します。

attributeExists

説明

このタグに属性が渡されたかどうかをチェックします。

属性が利用可能な場合は true を返し、そうでなければ false を返します。

カテゴリ

Request インターフェイス

構文

public boolean attributeExists(String name)
 

参照

getAttribute, getAttributeList

パラメータ

パラメータ
説明
name
チェックする属性名 (大文字と小文字の区別はありません)

次の例では、ユーザが DESTINATION という名前の属性をタグに渡したかどうかをチェックします。渡していない場合は、エラーを返します。

if ( ! request.attributeExists("DESTINATION") )
{
  throw new Exception( 
  "Missing DESTINATION parameter",
  "You must pass a DESTINATION parameter in "
  "order for this tag to work correctly." ) ;
} ;

debug

説明

タグに DEBUG 属性があるかどうかをチェックします。この関数を使ってリクエストにデバッグ情報を書き込むかどうか判断します。詳細は、writeDebugを参照してください。

タグに DEBUG 属性があれば TRUE を返します。その属性がなければ FALSE を返します。

カテゴリ

Request インターフェイス

構文

public boolean debug()
 

参照

writeDebug

次の例では、DEBUG 属性があるかどうかをチェックし、存在する場合は簡単なデバッグ メッセージが出力されます。

if ( request.debug() )
{
  response.writeDebug( "debug info" ) ;
} 

getAttribute

説明

渡された属性の値を取り出します。属性がない場合は空の文字列を返します。属性がタグに渡されたかどうかをテストするには、attributeExists を使ってください。空の文字列ではなく既定値を返すには、getAttribute(String, String) を使ってください。

タグに渡された属性の値を返します。その名前の属性がタグに渡されていない場合は、空の文字列が返されます。

カテゴリ

Request インターフェイス

構文

public String getAttribute(String name)
 

参照

attributeExists, getAttributeList, getIntAttribute, getAttribute

パラメータ

パラメータ
説明
name
取り出す属性 (大文字と小文字は区別しません)

次の例では、DESTINATION という名前の属性を取り出して、その値をユーザに返しています。

String strDestination = request.getAttribute("DESTINATION") ;
response.write( "The destination is: " + strDestination ) ; 

getAttributeList

説明

タグに渡される属性名のリストを取り出します。1 つの属性の値を取り出すには、getAttribute メンバ関数を使います。

タグに渡された属性の名前を含んでいる文字列の配列を返します。

カテゴリ

Request インターフェイス

構文

public String[] getAttributeList()
 

参照

attributeExists, getAttributeList

次の例では、属性のリストを取り出し、リストを繰り返し取り出しながら、各属性とその値をユーザに返しています。

String[] attribs = request.getAttributeList() ;
int nNumAttribs = attribs.length ;          

for( int i = 0; i < nNumAttribs; i++ )
{
  String strName = attribs[i] ;
  String strValue = request.getAttribute( strName ) ;
  response.write( strName + "=" + strValue + "<BR>" ) ;
} 

getIntAttribute

説明

渡された属性の整数値を取り出します。属性が存在しない場合は -1 を返します。属性がタグに渡されたかどうかをテストするには、attributeExists を使ってください。エラーや -1 ではなく既定値を返すには、getIntAttribute(String,int) を使ってください。

タグに渡された属性の値を返します。その名前の属性がタグに渡されていない場合は、-1 が返されます。

カテゴリ

Request インターフェイス

構文

public int getIntAttribute(String name)
 

戻り値

NumberFormatException 属性が有効な数値でない場合に返されます。

参照

attributeExists, getAttributeList, getIntAttribute

パラメータ

パラメータ
説明
name
取り出す属性 (大文字と小文字は区別しません)

次の例では、PORT という名前の属性を取り出して、その値をユーザに返しています。

int nPort = request.getIntAttribute("PORT") ;
if ( nPort != -1 )
  response.write( "The port is: " + String.valueOf(nPort) ) ; 

getQuery

説明

タグに渡されたクエリを取り出します。

カスタム タグにクエリを渡すには、QUERY 属性を使います。この属性にはクエリの名前を付けます (cfquery タグを使って作成されたクエリ)。QUERY 属性は、オプションであり、既存のデータ セットを処理するタグでのみ使われます。

タグに渡されたクエリを取り出します。クエリが渡されていない場合は NULL 値を返します。

カテゴリ

Request インターフェイス

構文

public Query getQuery()
 

次の例では、タグに渡されたクエリを取り出しています。クエリが渡されていない場合はエラーとなります。

Query query = request.getQuery() ;
if ( query == null )
{
  throw new Exception( 
  "Missing QUERY parameter. " +
  "You must pass a QUERY parameter in "
  "order for this tag to work correctly." ) ;   
} 

getSetting

説明

グローバル カスタム タグ設定の値を取り出します。カスタム タグ設定は、ColdFusion Registry キーの CustomTags セクションに格納されています。

カスタム タグ設定の値を返します。その名前の設定値がすでに存在しない場合、空の文字列が返されます。

カテゴリ

Request インターフェイス

構文

public String getSetting(String name)

パラメータ

パラメータ
説明
name
取り出す設定の名前 (大文字と小文字の区別はありません)

使い方

Java で導入されたすべてのカスタム タグは、設定値を保存するために 1 つのレジストリ キーを共有します。名前の重複を避けるために、設定値の名前の前に CustomTag クラスの名前を付けます。たとえば、次のコードは、MyCustomTag という名前の CustomTag クラスの 'VerifyAddress' という設定の値を取り出します。

String strVerify = request.getSetting("MyCustomTag.VerifyAddress") ;
if ( Boolean.valueOf(strVerify) )
{
  // アドレスを検証します。
}