interMediaオブジェクトとしてOracleデータベースに格納されているマルチメディア・コンテンツを取得するURL文字列を指定します。
JSP構文
<jbo:MediaUrl
id="uniqueIdName"
datasource="datasourceInstanceName"
mediaattr="mediaAttributeName"
[[ rowkey="RowKeyString" ] | [ whereclause="WhereClause" ]]
[ retrievepath="CustomRetrievePath" ]
>
body content
</jbo:MediaUrl>
説明
<jbo:MediaUrl>データ・タグにより、interMediaに格納されているマルチメディア・コンテンツをレンダリングするURL文字列を取得できるため、より高度なHTMLのカスタマイズが可能になります。<jbo:MediaUrl>データ・タグのid属性は、内部でURL文字列を生成するOrdURLBuilderオブジェクトを表すスクリプト変数で<jbo:MediaUrl>データ・タグの本体で利用できます。このスクリプト変数は、メディアをフェッチするURLを作成します。たとえば、スクリプト変数を使用してHTML <IMG>タグのSRC属性のURLを作成する場合があります。また、スクリプト変数はgetHeight()
およびgetWidth()
などのユーティリティ・メソッドを提供し、様々なHTMLのタグ属性への移入を可能にしています。
このタグは、<jbo:Row>または<jbo:RowsetIterate>データ・タグ内にネストできます。これらの2つのタグ内で使用されている場合、そのいずれかのタグで定義されている行が使用され、rowkey
およびwhereclause
属性は無視されます。それ以外の場合は、行を検索する際にrowkey
またはwhereclause
属性が使用されます。rowkey
はwhereclause
より優先されます。いずれの属性も指定されていない場合、このタグはデータソース・オブジェクトの現在の行を使用します。データソース・オブジェクトの現在の行を変更する場合は、<jbo:RowsetNavigate>データ・タグを使用できます。
挿入されるURLリンク([mediaFetchingURL])の書式は次のとおりです。
[retrievepath]?appModId=[アプリケーション・モジュールID]&rowSetName=[Rowset名]&contentCol=[mediaAttributeName]&rowKey=[rowKeyString]
デフォルトでは、[retrievepath]はあらかじめ指定されているordPlayMedia.jsp
というJSPページです。必要に応じて、独自のメディア配信コンポーネントを作成し、独自の検索パスを指定できます。
属性
id: <jbo:MediaUrl>タグにより内部的に作成されるOrdURLBuilderクラスのインスタンス名。割り当てる名前は、ページ内で一意である必要があります。有効な任意のJava識別子を使用できます。スクリプトレット内では、idをOrdURLBuilder
型のスクリプト可能な変数として使用できます。
datasource: interMediaオブジェクトへのアクセスに使用するデータソースID。データソースは、<jbo:DataSource>データ・タグを使用して作成します。
mediaattr: interMediaオブジェクトを含む(データソース内の)特定のビュー・オブジェクト属性の名前。
rowkey: (オプション)行を一意に識別するために使用する行識別子のテキスト・エンコーディング。
whereclause: (オプション)行を一意に特定する問合せのWHERE句。
retrievepath: (オプション)メディア・コンテンツ配信コンポーネント用の独自の検索パス。デフォルト値はordPlayMedia.jsp
です。
例1:
<jbo:MediaUrl id="urlBuilder" datasource="ds" mediaattr="Photo" whereclause="id = 15" >
<IMG SRC="<%= urlBuilder.getOrdDomainURL() %>" ALT="vacation photo.">
</jbo:MediaUrl>
HTML出力
<IMG SRC="[mediaFetchingURL]" ALT="vacation photo.">
例2:
<jbo:RowsetIterate datasource="ds">
<jbo:MediaUrl id="builder" datasource="ds" mediaattr="Image" >
<IMG SRC="<%= builder.getOrdDomainURL() %>"
<% if(builder.getWidth()>0 && builder.getHeight()>0) { %>
HEIGHT="<%= builder.getHeight() %>"
WIDTH="<%= builder.getWidth() %>"
<% } %>
ALT="my cat">
</jbo:MediaUrl>
</jbo:RowsetIterate>
HTML出力
<IMG SRC="[mediaFetchingURL]" HEIGHT="[nn]" WIDTH="[nn]" ALT="my cat">
<IMG SRC="[mediaFetchingURL]" HEIGHT="[nn]" WIDTH="[nn]" ALT="my cat">
<IMG SRC="[mediaFetchingURL]" HEIGHT="[nn]" WIDTH="[nn]" ALT="my cat">