Oracle ADF UIX開発者ガイド | ![]() 目次 |
![]() 前へ |
![]() 次へ |
この付録では、JDeveloper 9.0.3からのOracle ADF UIXに対する変更点を説明します。ここでは、次の項目について説明します。
PPRでは、次の点が強化されました。
部分ページ・レンダリングをサポートするために、<subTabLayout>
コンポーネントが強化されました。 部分ページ・レンダリングが使用可能な場合(部分レンダリング・モードの設定およびID
の指定がされている状態)、ユーザーがサブタブを切り替えるとき、<subTabLayout>
コンポーネントは、部分ページ・レンダリングを使用して自身を更新します。
partialRenderMode
属性は、複数の部分ターゲットを登録できる新規モードをサポートするようになりました。 partialRenderMode
がmultiple
に設定されている場合、UIXでは、新しいpartialTargets
属性によって指定されたすべての部分ターゲットが登録されます。 たとえば、次のサンプル・コードでは、hideShow
コンポーネントが複数の部分ターゲットを指定しています。
<hideShow id="hsID"
partialRenderMode="multiple"
partialTargets="target1 target2 target3"/>
<textInput id="target1"/>
<textInput id="target2"/>
<textInput id="target3"/>
部分ページ・イベント(この場合、<hideShow>
)を起動するノードのIDは、部分ターゲットのセットに自動的に含まれることに注意してください。 新しいmultiple
モードおよびpartialTargets
属性は、partialRenderMode
属性をサポートするすべてのコンポーネントにサポートされるようになりました。
<lovInput>
コンポーネントは、partialRenderMode
属性およびpartialTargets
属性をサポートするようになりました。 UIX 2.1.8より前は、lovUpdate
イベントおよびlovValidate
イベントを送信するために、部分ページ・レンダリングがデフォルトで使用されていました。 UIX 2.1.8では、<lovInput>
コンポーネントに対する部分ページ・レンダリングを使用可能にするために、クライアントがpartialRenderMode
をself
またはmultiple
に明示的に設定する必要があります。
PartialPageUtils.forceRedirectURL()
というユーティリティ・メソッドが追加されました。 このメソッドは、別のページにリダイレクトさせるために、部分ページ・イベントに応答してコールできます。 クライアントは、部分ページ・レスポンスをレンダリングするかわりに、または部分ページ・レンダリング渡し中にエラー(または例外)が発生した場合に、このメソッドをコールできます。
PartialPageRendererUtils.supportsPartialRendering()
というユーティリティ・メソッドが追加されました。 クライアントは、現行のレンダリング渡しに対するユーザー・エージェントおよびアクセシビリティ・モードに部分ページ・レンダリングがサポートされるかどうかを決定するために、このメソッドをコールできます。 部分ページ・レンダリングがサポートされているかどうかを、UIXのレンダラが自動的に検出し適切に動作するので、クライアントがこれをチェックする必要は通常ありません。 しかし、独自のレンダラを実装しようとするクライアントや、特定のLovInput
シナリオへ対応するために、このメソッドが用意されています。
LOVでは、次の点が強化されました。
LOVウィンドウが、「検索」アイコンをクリックするたびに表示されるようになりました。 入力フィールドの値が変更された場合、検証イベントも生成されます。 検証でshowWindow
がtrue
に設定されている場合、開いているLOVウィンドウが要求を満たすので、新規ウィンドウは表示されません。 <lovInput>
フィールドが空白の場合、validateBlanks
属性の設定に関係なく、「検索」がクリックされたときに検証イベントは生成されません。 (しかし、validateBlanks
がtrue
に設定され、ユーザーが<lovInput>
フィールドから移動する場合空白のフィールドが検証されます。)
JavaScriptコールのencodeURIComponent()
をサポートするブラウザでは、これを使用してinputValue
がエンコードされます。 これにより、Unicodeの入力値が保たれます。
構成についての情報が、LOVウィンドウに表示されるようになりました。
BC4Jビュー・オブジェクトに対するコントロール・ヒントの「ラベル・テキスト」の値が、フィールドのプロンプトおよび表ヘッダーのタイトルに対する、デフォルトのコントロール・ヒントのテキストとして使用されるようになりました。
<bc4j:table>
要素は、表にShow Allオプションを追加するshowAll
属性をサポートするようになりました。 (<bc4j:table>
要素は、UIXコンポーネントの<table>
要素からshowAll
属性を継承します。)
<bc4j:formValue>
要素が新たに追加されました。 これにより、非表示の値をフォームとともに送信できます。つまり、ユーザーに対して値は表示されません。
次のUIX BC4Jコンポーネントでは、UIXの基本的な属性であるname
属性が、デフォルトでattrName
属性と同じになるようになりました。
messageInput
input
checkBox
choice
dateField
fileUpload
formValue
list
lovField
textInput
UIXのランタイムは、参照する.cpx
データ定義ファイルが見つからない場合、解析エラーをスローするようになりました。
Pocket PCの場合のみ、UIXでは現在次のコンポーネントがサポートされています。 将来、PDAサイズのすべてのデバイスでサポートされるコンポーネントと同じコンポーネントがサポートされる予定です。 各Beanのすべての機能が実装されるわけではないことに注意してください。
body
borderLayout
bulletedList
button
cellFormat
checkbox
choice
column
contentFooter
dateField
dataScope
document
flowLayout
form
formParameter
formValue
formattedText
frame
frameBorderLayout
globalButton
globalButtonBar
globalHeader
head
image
include
inlineMessage
labeledFieldLayout
link
list
lovField
messageBox
messageCheckBox
messageChoice
messageDateField
messageList
messageLovField
messagePrompt
messageRadioButton
messageRadioGroup
messageStyledText
messageText
messageTextInput
navigationBar
option
pageButtonBar
pageHeaderLayout
pageLayout
radioButton
radioGroup
rawText
resetButton
rowLayout
servletInclude
spacer
stackLayout
styledText
submitButton
switcher
table
tableLayout
textInput
train
try
urlInclude
次のコンポーネントはそれ自身では何もレンダリングしませんが、索引付けされた子をレンダリングします。
header
hideShowHeader
subTabLayout
tip
次のコンポーネントは、次回のリリースで実装される予定です。
addTableRow
hideShow
multipleSelection
singleSelection
sortableHeader
totalRow
次のコンポーネントはサポートされていません。 コンポーネントもその子もレンダリングされず、警告がエラー・ログに記述されます。
applicationSwitcher
browseMenu
contentContainer
fileUpload
importScript
lovInput
listOfValues
hGrid
messageFileUpload
quickLinks
shuttle
sideBar
sideNav
styledItem
styledList
subTabBar
tabBar
tree
次のコンポーネントは無視されます。 これらはページの正しい動作に不可欠ではないため、警告はログに記述されません。
breadCrumbs
footer
separator
styleSheet
その他には、次の点が強化されました。
<table>
コンポーネントは、全詳細または全行の表示/非表示機能をサポートするようになりました。 全詳細の表示/非表示機能を使用する場合、表のallDetailsEnabled
属性をtrue
に設定します。 表の全行を、ナビゲーションの選択を介して表示する場合、showAll
を設定します。 この属性に設定できる値の詳細は、Table
のドキュメントを参照してください。
<columnGroup>
コンポーネントが新たに追加されました。 この制御は表の列をグループ化するので、1つのヘッダーがグループ化された全列にまたがります。 複数の<columnGroup>
がネストできます。
新しい<set>
イベント・ハンドラにより、MutableDataObject
のキーの付けられた値を更新することで、ページのコンポーネントを宣言的な方法で完全にインタラクティブにできます。 たとえば、<hideShow>
コンポーネントのdisclosed
属性をバインドし、hide
イベントおよびshow
イベントに応答して<set>
イベント・ハンドラによってこれを更新した場合、カスタムJavaコードを記述せずに<hideShow>
を完全にインタラクティブにできます。
<navigationBar>
では、項目が一定数内でリスト表示されるようになりました。「前へ」>および「次へ」ボタンで、前後の項目リストに移動できます。
UIXのリソースに対して、バージョニングがサポートされるようになりました。 UIXでは、UIXのインストール可能なJavaScriptライブラリや生成されたCSSスタイルシートのファイル名の識別子が、自動的に追加されるようになりました。 この識別子は、各ファイルのバージョンを一意に識別します。また、前回のリリースからファイルが変更された場合は、必ず変更されます。 新しいバージョンのファイルが要求されていることや、最新のバージョンがサーバーからダウンロードされることをブラウザが自動的に検出するので、ファイル名をこのように変更することにより、UIXのアップグレードのプロセスを簡略化できます。
UIXを新しいバージョンにアップグレードする場合、UIXのインストール可能なファイルを最新バージョンにアップグレードするよう、クライアントは常に要求されましたが、この要求はさらに重要になりました。 UIXのインストール可能なファイルを、Webアプリケーションで使用されるUIXクラスのバージョンに同期できないと、UIXのJavaScriptライブラリはロケーティングが行われません。
media
コンポーネントでは、RealPlayerのコントロールが正しく表示されるようになりました。
java.io.PrintWriter
の非同期化されたprivateサブクラスを使用することで、PrintWriter
のパフォーマンスが改善されました。 この改善点を利用するために、クライアントはServletResponse.getWriter()
を直接コールすることを避け、かわりに、UIXでPrintWriter
そのものを作成する必要があります。ServletRenderingContext.prepareResponse()
を使用するのが理想的です。
Copyright © 2001, 2004, Oracle.
All rights reserved.