アクションによって、オブジェクトの使用、修正、または作成を行ったり、ページの出力ストリームを修正できます。このセクションでは、JRun でサポートされているすべてのアクションについて説明します。
要素名 |
目的 |
Section |
---|---|---|
"jsp:useBean" |
JavaBeans のインスタンスを定義します。 |
"jsp:useBean" |
"jsp:setProperty" |
Bean にある 1 つ以上のプロパティ値を設定します。 |
"jsp:setProperty" |
"jsp:getProperty" |
Bean プロパティの値を、文字列として out オブジェクトに自動的に書き込みます。 |
"jsp:getProperty" |
"jsp:include" |
ある JSP から別の JSP を呼び出します。アクションが完了すると、呼び出し先のページから呼び出し側のページに制御が戻されます。 |
"jsp:include" |
"jsp:forward" |
ある JSP から別の JSP を呼び出します。この呼び出しにより、呼び出し側ページの実行が終了します。 |
"jsp:forward" |
"jsp:param" |
ある JSP から別の JSP に要求を転送するときに、名前/値ペアとしてパラメータを HTTP 要求に追加します。 |
"jsp:param" |
"jsp:plugin" |
クライアント ブラウザでアプレットを起動できるようになります。 |
"jsp:plugin" |
jsp:useBean
アクションにより、JSP で JavaBeans がインスタンス化されます。インスタンス化が完了すると、JSP ファイルにある Bean が参照できるようになります。
次の例では、タイプ com.myco.myapp.MyBean
の myBean
という Bean が定義されます。
<jsp:useBean id="myBean" class="com.myco.myapp.MyBean" />
<jsp:useBean id="name" scope="page|request|session|application" typeSpec />
class="className" |
class="className" type="typeName" | beanName="beanName" type="typeName" | type="typeName"
type
または class
を指定する必要があります。このとき、class
と beanName
の両方を指定することはできません。type
と class
の両方を指定する場合は、class
に type
が割り当てられるようになっていなければなりません。
属性 beanName
は「a.b.c
」の形式で表された Bean の名前です。ここに、「a/b/c.ser
」の形式でクラスまたはリソース名を指定します。
さらに、次の形式で jsp:useBean
に対して本文を指定できます。
<jsp:useBean id="name" scope="page|request|session|application"
typeSpec > body </jsp:useBean>
Bean が作成されると、本文が呼び出されます。通常、本文には新しく作成された Bean を修正するために使用されるスクリプトレット、または jsp:setProperty
タグが含まれますが、本文の内容は制限されません。
<jsp:useBean>
タグには次のような属性があります。
指定されたスコープで Bean を識別するために使用される名前と、Bean のスクリ プト変数名を指定します。名前では大文字と小文字を区別し、スクリプト言語の 変数命名規則に従って指定する必要があります。
必要に応じて、Bean が使用可能なスコープを定義します。
page
この Bean は現在のページで使用できます。これが既定値です。
request
この Bean は getAttribute
メソッドを使用して、現在のページにある request
オブジェクトから使用できます。現在のクライアント要求が完了すると、この参照は破棄されます。session
この Bean は getValue
メソッドを使用して、現在のページにある session
オブジェクトから使用できます。現在のセッションが無効になると、この参照は破棄されます。
注意 JSP で |
application
この Bean は getAttribute
メソッドを使用して、現在のページにある application
オブジェクトから使用できます。
Bean の実装を定義する認識可能なクラス名を設定します。クラス名では大文字と 小文字は区別されます。
class
属性と beanName
属性を省略する場合、オブジェクトは指定されたスコープ
内にある必要があります。
java.beans.Beans
クラスの instantiate
メソッドで認識されるように Bean 名
を指定します。
この属性の値として、要求時属性式を使用できます。
指定されている場合、type
はスクリプト変数のタイプを表します。Bean は指定
されたタイプへのインスタンスである必要があります。
この属性を使用して、スクリプト変数のタイプを、指定された実装クラスのスク リプト変数に関連させながら、同時に区別できます。このタイプはクラス自体、 クラスのスーパークラス、または指定されたクラスにより実装されたインター フェイスになります。
このパラメータを省略した場合、タイプは class
属性の値と同じになります。
jsp:setProperty
アクションにより、Bean にある 1 つ以上のプロパティ値が設定されます。このアクションを使用する前に、jsp:useBean
を使用して Bean を定義しておく必要があります。
次の例では、user という Bean のプロパティに値が設定されます。
<jsp:setProperty name="user" property="user" param="username" />
<jsp:setProperty name="results" property="row" value="<%= i+1 %>" />
単純なインデックス付きプロパティは setProperty
を使用して設定します。インデックス付きプロパティの値には、配列を割り当てる必要があります。
<jsp:setProperty name="beanName" prop_expr />
ここで、prop_expr
は次のいずれかの形式になります。
property="*" |
property="propertyName"| property="propertyName" param="parameterName"| property="propertyName" value="propertyValue"
propertyValue には文字列定数、または式を指定する必要があります。
jsp:setProperty
要素には次のような属性があります。
jsp:useBean
アクション、またはその他の要素により定義された Bean 名。Bean
インスタンスには、設定する必要のあるプロパティが含まれます。jsp:useBean
要素は、同じファイル内にある jsp:setProperty
アクションより先に記述する必要
があります。
設定する必要のある Bean プロパティの名前。
propertyName を * に設定すると、現在の要求パラメータに対して、
jsp:setProperty
が繰り返し実行され、パラメータ名および値タイプが Bean の
プロパティ名およびタイプと比較されます。一致したプロパティはそれぞれ、対応
するパラメータの値に設定されます。パラメータの値が空白文字列 ("")
である
場合、対応するプロパティは変更されません。
prop_expr の先頭から 3 つの書式では、文字列として表される値が Bean プロパ
ティに割り当てられます。しかし、Bean プロパティのデータ タイプが string
以
外である場合、JRun によりタイプ変換が行われます。次の表は、この変換がど
のように行われるかを示します。
prop_expr の 4 つめの書式では、オブジェクトが Bean プロパティに割り当てられ ます。この場合、オブジェクトは自動的に割り当て先 Bean プロパティのデータ タイプに変換されます。
Bean プロパティに供給する必要のある値を持つ要求パラメータ名。
アクションは param
と value
の両方を持つことはできません。
param
を省略した場合、要求パラメータ名は Bean プロパティ名と同じであると
見なされます。
param
が request
オブジェクトに設定されていない場合、または値が空の文字列
(""
) である場合、jsp:setProperty
要素は何の効力も持ちません。
プロパティに割り当てられる値。
アクションは param
と value
の両方の値を持つことはできません。
Bean プロパティの値を文字列として、out
オブジェクトに書き込みます。このアクションを使用する前に、Bean を定義しておく必要があります。
次の例では、user Bean の name プロパティが書き込まれます。
<jsp:getProperty name="user" property="name" />
<jsp:getProperty name="name" property="propertyName" />
このプロパティで使用される Bean インスタンス名を指定します。
このアクションは、Bean が見つからなかった場合に例外を生成します。
出力する必要のある値を持つプロパティ名。
現在のページに静的なリソースおよび動的なリソースを含めます。組み込みが完了すると、呼び出し側 JSP で処理が再開されます。
既定では、JSP からクライアントへ送信される出力データはバッファリングされます。バッファを使用しているため、応答ヘッダ情報およびその他の出力はバッファがフラッシュされるまではクライアントに送信されません。組み込まれるページの出力がバッファリングされる場合、組み込みの前にバッファがフラッシュされます。このフラッシュにより、組み込まれたページで応答ヘッダを設定できなくなります。したがって、組み込まれたページで setCookie
などのメソッドは使用できません。
メモ バッファを無効にするか、または JSP の出力バッファのサイズを設定するには、JSP
ディレクティブを使用します。 |
<jsp:include page="/templates/copyright.html"/>
<jsp:include page="path" flush="true"/>
<jsp:include page="path" flush="true">
<jsp:param name="paramName" value="paramValue" /> ... </jsp:include>
含められるファイルのパスを指定します。/ で始まる パス は JSP のアプリケー ションに関連付けられています。パス名の先頭に / が付いていない場合、このパス は変換中の JSP のパスに関連付けられていると見なされます。
パスの詳細については、"JSP における相対 URL の指定"を参照してください。
この属性を true
に設定すると、バッファがフラッシュされます。JSP 1.1 では、
値に false
を指定できません。
既定値は true
です。
jsp:include の 2 番目の書式は、jsp:param アクションへの追加です。このアクションにより、目的の JSP により受信される HTTP 要求にパラメータを追加できます。詳細については、"jsp:param"を参照してください。
現在のページと同じアプリケーションで jsp:forward
アクションにより、JSP または Java サーブレット が呼び出されます。jsp:forward
により、現在の JSP の実行が終了されます。
ページ出力がバッファリングされた場合、jsp:forward
アクションを呼び出すか、response
オブジェクトの redirect
メソッドを使用して要求を転送した場合に、バッファは消去され、内容が破棄されます。このルールの唯一の例外は、 JSP を転送することによって設定されたクッキーが破棄されず、クライアントに送信されることです。
ページ出力がバッファリングされず、ページ出力に何かが書き込まれている場合、jsp:forward
を使用しようとすると、IllegalStateException
になります。
メモ バッファを無効にするか、または JSP の出力バッファのサイズを設定するには、JSP
ディレクティブを使用します。 |
次の例では、ある JSP から別の JSP が呼び出されます。
<% String whereTo = "/templates/"+someValue; %>
<jsp:forward page=’<%= whereTo %>’ />
<jsp:forward page="path" />
<jsp:forward page="path">
<jsp:param name="paramName" value="paramValue" /> ... </jsp:forward>
呼び出されるファイルのパスを指定します。/ で始まるパスは JSP に含まれるアプ リケーションに関連付けられています。パス名の先頭に / が付いていない場合、 このパスは変換中の JSP のパスに関連付けられていると見なされます。
パスの詳細については、"JSP における相対 URL の指定"を参照してください。
jsp:forward の 2 番目の書式は、jsp:param アクションへの追加です。このアクションにより、目的の JSP により受信される HTTP 要求にパラメータを追加できます。詳細については、"jsp:param"を参照してください。
jsp:param
アクションにより、ある JSP から別の JSP に要求が転送されるときに、名前/値ペアとしてパラメータが HTTP 要求に追加されます。このアクションとともに使用できるのは、jsp:include
、jsp:forward
、および jsp:plugin
アクションだけです。
jsp:include
または jsp:forward
とともに jsp:param
を使用すると、目的のページにより、オリジナルの要求パラメータを持つオリジナルの HTTP 要求と、jsp:param
で指定された新しいパラメータがすべて受信されます。jsp:param
により、要求にすでに入っているパラメータが追加された場合、新しいパラメータ値は既存の値の前に入ります。
たとえば、要求にパラメータ myParm=a
が含まれているときに、jsp:param
を使用して myParm=b
を追加すると、転送された要求には myParm=b, a
が入ります。ここで、新しいパラメータがリストの先頭に追加されていることに注意してください。
新しいパラメータのスコープは jsp:include
または jsp:forward
の目的の JSP です。つまり、含められたページからオリジナルの JSP に戻ってきた後、新しいパラメータと値が要求から削除されます。
jsp:plugin
アクションにより、クライアント ブラウザでアプレットを呼び出せるようになります。このアクションでは、適切なクライアント ブラウザ依存のコンストラクト (OBJECT
または EMBED
) を含む HTML テキストが生成されます。この構成体により、Java プラグインがダウンロードされ、続いてアプレットや Bean が実行されます。
この要素は要求元ユーザ エージェントに応じて、<object>
タグまたは <embed>
タグで置き換えられ、応答の出力ストリームに書き込まれます。次の例では、クライアントにある MyPlugin.class が呼び出されます。
<jsp:plugin type=applet code="MyPlugin.class" codebase="/html" >
<jsp:params> <jsp:param name="myplugin" value="Greetings"/> </jsp:params> <jsp:fallback> <p> unable to load Plugin </p> </jsp:fallback> </jsp:plugin>
<jsp:plugin
type="bean|applet"
code="objectCode"
codebase="objectCodebase"
{ align="alignment" }
{ archive="archiveList" }
{ height="height" }
{ hspace="hspace" }
{ jreversion="jreversion" }
{ name="componentName" }
{ vspace="vspace" }
{ width="width" }
{ nspluginurl="url" }
{ iepluginurl="url" } >
{ <jsp:params>
{ <jsp:param name=" paramName"
value="paramValue" /> }+
</jsp:params> }
{ <jsp:fallback> arbitrary_text </jsp:fallback> } >
</jsp:plugin>
コンポーネントのタイプを Bean またはアプレットとして指定します。
アプレットを含むクラス ファイル名、またはクラスへのパスを指定します。
archive
属性で指定された相対パスを解釈するために使用される基本パスを指定
します。この値を省略すると、<jsp:plugin>
を呼び出した JSP ファイルのパスが
使用されます。
詳細については、次の URL にある HTML 4.0 仕様書を参照してください。
http://www.w3.org/TR/REC-html40/
Bean またはアプレットの場所を指定します。align
に次のような値を指定した
場合、周囲のテキストに相対させてオブジェクトの場所が決められます。
bottom
オブジェクトの最下部が、現在のベースラインに対し、垂直方向に揃えられます。これが既定値です。
middle
オブジェクトの中心が、現在のベースラインに対し、垂直方向に揃えられます。top
オブジェクトの最上部が、現在のテキスト ラインの最上部に対して垂直方向に揃えられます。left
および right
イメージは現在の左マージンまたは右マージンに浮動します。 詳細については、次の URL にある HTML 4.0 仕様書を参照してください。
オブジェクトのリソースを含むアーカイブを表す URI を、スペースで区切られた
リストとして指定します。一般的に、アーカイブをあらかじめロードしておくと、
オブジェクトのロード時間を削減できます。相対 URI として指定されたアーカ
イブは codebase
属性に相対しているものとして解釈されます。
詳細については、次の URL にある HTML 4.0 仕様書を参照してください。
http://www.w3.org/TR/REC-html40/
既定の Bean またはアプレットの高さを書き換えて、指定された値を使用します。 値は次のように指定できます。
詳細については、次の URL にある HTML 4.0 仕様書を参照してください。
Bean またはアプレットの左右に挿入される空白の量を指定します。値は次のよう に指定できます。
詳細については、次の URL にある HTML 4.0 仕様書を参照してください。
コンポーネントが動作するために必要な JRE 仕様のバージョン番号を表します。
既定値は 1.1
です。
アプレットの名前を指定します。これにより、このアプレットを JavaScript から 参照したり、同じページにある別のアプレットを参照できるようになります。
Bean またはアプレットの上下に挿入される空白の量を指定します。値は次のよう に指定できます。
詳細については、次の URL にある HTML 4.0 仕様書を参照してください。
アプレットに関する記述情報を指定します。
詳細については、次の URL にある HTML 4.0 仕様書を参照してください。
http://www.w3.org/TR/REC-html40/
Bean やアプレットについて、既定のオブジェクト幅を書き換え、指定された値を 使用します。値は次のように指定できます。
詳細については、次の URL にある HTML 4.0 仕様書を参照してください。
Netscape Navigator 用 JRE プラグインをダウンロードできる URL を指定します。 既定値は実装によって異なります。
Internet Explorer 用 JRE プラグインをダウンロードできる URL を指定します。 既定値は実装によって異なります。
アプレット コンポーネントまたは JavaBeans コンポーネントにパラメータを設定 します。詳細については、"jsp:param"を参照してください。
プラグインが起動できなかったときに、クライアント ブラウザにより表示される コンテンツを指定します。プラグインは起動できても、アプレット コンポーネント または JavaBeans コンポーネントが見つからなかったり、起動できなかった場合は、 プラグイン固有のメッセージがユーザに送られます。