4.5.18 (Sep 2008)

4.5.18 (Sep 2008)

機能改善 (Java)

RequestService 機能の改善

レスポンスページが404(File Not Found)であった場合、RequestService(および NetService)が提供するメソッドは503を返してたため、正しく404を返すように変更されました。
また、レスポンスがリダイレクト(HTTP レスポンス・コード3xx)であった場合の振る舞いが改善されました。

改行文字コードの改善

改行文字コード(\n[0x0a])に対する一貫性を維持するために、ユーザーオペレーションあるいはプログラムによって \r[0x0d] を改行コードの一部として追加できないようにしました。

振る舞いの変更 (Java)

改行文字コード(\r[0x0d])の扱い

改行コードの改善に伴い、ユーザーオペレーションおよび、プログラムによって Nexaweb UI コンポーネントの中で \r[0x0d] を扱うことができなくなりました。
本バージョンからは改行コードは全て \n[0x0a] だけで扱われます。
過去のバージョンでは以下のケースで \r[0x0d] を Nexaweb UI コンポーネントの中で一時的に扱う場合がありました。

  • Windows OS 上で Internet Explorer を使用し、 \r[0x0d] を含む文字列がクリップボードにコピーされている状態で、 Nexaweb UI コンポーネントにクリップボードの文字列を貼り付けた場合。

  • MCO から Nexaweb UI コンポーネントに対して \r[0x0d] を含む文字列を設定した場合。

上記の場合に Nexaweb UI コンポーネントの中で \r[0x0d] が扱われていましたが、 \r[0x0d] が含まれるデータが XML パーサによってパースされた場合、 \r[0x0d] は過去バージョンでも削除されます。

修正項目 (Java)

9246

712-2799944 – カスタムモーダルダイアログ(DisplayService#modalCustomButtonAlert())を使用してダイアログ内のコンポーネントのデフォルトフォーカス位置を変更した場合にフォーカスの変更が有効にならない

9750

互換性 : lockedColumnを使用したテーブル内にcell以外のUIコンポーネントが存在している場合、cell以外のUIコンポーネントをマウスクリックするとテーブルのスクロール位置が自動的に変更される

9890

objectWithTestidExistsとfindObjectByTestid は過去に存在していたオブジェクトをクリアしません

9903

テーブル内の非表示行()を含むエリアをクリップボードにコピーした場合非表示行のデータもクリップボードにコピーされます

9905

Test api : setChildTestIds メソッドは NullPointerExceptionを発生させます

9953

DisplayService#modalAlert()を使用するとメモリリークが起こる

9989

コンボボックス、メニューが開いている際にテーブルのセルをダブルクリックしてエディタを起動した場合に選択セルが移動しない

9999

textArea 内のテキストデータに改行コードに \r が含まれている場合、カーソルキーによる移動を行うと \r を見えない一文字として移動する

10001

gridTable: <gridTable/>を繰り返して表示しているとArrayIndexOutOfBoundsExceptionが起こる場合がある

10002

gridTable: 非表示<lockedColumn/>を持った<gridTable/>ではチェックボックスをチェックすることができない

10003

互換性 : エディタのコンボボックスのドロップダウンリストをクリックし続けると、選択セルが移動しない

10032

互換性 : コンボボックスのリストがリセットされてしまうために、選択状態のデフォルトを設定できない

10033

テーブルエディタにtextFieldを使用している場合に、表示位置がおかしくなる場合がある

10045

テーブルエディタにコンボボックスを使用している場合、コンボボックスのonCommandイベントが二回実行される

10048

コンボボックスの中のselected属性がユーザーオペレーションによってキャンセルできてしまう

10051

gridTable: gridTableで行結合データを含むテーブル内のデータを削除した場合に例外が発生する

10052

テーブルエディタがlockedColumnと重なって表示されるケースがある

10069

テーブルのソートを行う際に sortType="stable" が指定されている場合にソート結果に異常がある

10076

testid: testidを設定した場合にメモリの問題が起こる

10100

Shift+マウスクリックでテーブル行を複数選択する場合に、正しく行が選択されない

10138

互換性 : NetServiceを使用した場合に404がサーバーから返った場合にAPIでは404が正しく取得できない

10139

互換性 : NetServiceを使用した場合にサーバーが30*などのリダイレクトを返した場合、4.1の頃と振る舞いが異なる

10141

onTextChangeイベントがプログラムから値を変更した場合にも呼び出されるケースがある

10148

quickEditモードが有効なテーブル上でテーブルデータが存在していない場合、テーブルがフォーカスを受け取ると例外が発生する

10161

互換性 : Ctrlキーを押しながらテーブルの編集可能なセルをダブルクリックした場合、行または列を選択しません

10163

テーブルエディタとして使用されているコンボボックスを開き、何も選択せずにコンボボックスを閉じた場合、 NullPointerExceptionが発生する

10164

互換性 : テーブル行を選択している場合に、テーブルデータを置換すると NullPointerExceptionが発生する

10213

互換性 : テーブルのカラム数より多い列データを持っているテーブルデータを削除することができない


修正の詳細 (Java)

9246

712-2799944 カスタムモーダルダイアログ(DisplayService#modalCustomButtonAlert())を使用してダイアログ内のコンポーネントのデフォルトフォーカス位置を変更した場合にフォーカスの変更が有効にならない

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

API : DisplayService#modalCustomButtonAler()

事象
内容

DisplayService#modalCustomButtonAler() API を使用している場合に、モーダルアラートに表示するボタンエレメントに対して意図的にフォーカスを設定していても正しくフォーカスが設定されない。
focused="true" を持ったボタンエレメントを追加してもフォーカスが設定されない。

修正
内容

focused="true" の設定されているボタンエレメントがフォーカスを持っている状態でモーダルアラートが表示されるように修正。

9750

互換性問題 : lockedColumnを使用したテーブル内にcell以外のUIコンポーネントが存在している場合、cell以外のUIコンポーネントをマウスクリックするとテーブルのスクロール位置が自動的に変更される

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

4.5.13~

対象

以下の条件を全て満たしているテーブル(<table>, <treeTable>)

  • <lockedColumn> を使用している場合。

  • <lockedColumn> の中で <cell> の変わりに <cell> 以外の UI コンポーネントを使用している場合。

  • テーブル全体にスクロールバーが表示されている場合。

事象
内容

テーブルの横スクロールバーを右端に移動し、<lockedColumn> 上の UI コンポーネントにフォーカスを設定した場合に、横スクロールバーが自動的に左側に移動してしまう。
Nexaweb Platform 4.5.11 を使用している場合、横スクロールバーは自動的に移動しなかった。

修正
内容

Nexaweb Platform 4.5.11 と同じ振る舞いになるように修正。
横スクロールバーが自動的に移動しないように修正。
この問題は Nexaweb Platform 4.5.13 の 90879089 の修正によって生じるようになった互換性問題になります。

9890

Test api: objectWithTestidExistsとfindObjectByTestid は過去に存在していたオブジェクトをクリアしません

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

Quick Test Pro のテストスクリプトの中で objectWithTestidExists および findObjectByTestid を使用している場合

事象
内容

テストスクリプトの中で objectWithTestidExists および findObjectByTestid を使用し、取得したオブジェクトは、 UI DOM の中から取得されたエレメントが削除された場合であってもオブジェクトをクリアしません。
このため、テストスクリプト内で、既に UI DOM 内に存在しない可能性のあるオブジェクトに対しての操作を行う事ができてしまいます。

修正
内容

UI DOM から削除されたオブジェクトに対してテストスクリプト内からアクセスした場合にエラーが返るように修正。

9903

テーブル内の非表示行(<row/>)を含むエリアをクリップボードにコピーした場合非表示行のデータもクリップボードにコピーされます

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

以下の条件を全て満たしているテーブル(<table/>, <treeTable/>)

  • 非表示カラム(<column visible="false"/>)がテーブル内に存在している場合。

  • テーブルの選択モードが行選択モードである場合。

事象
内容

テーブルの行を Ctrl + C にてクリップボードにコピーした場合に、非表示カラムに所属するセルのデータがコピーされてしまう。

修正
内容

非表示カラムに所属するセルのデータがクリップボードにコピーされないように修正。

9905

Test api : setChildTestIds メソッドは NullPointerExceptionを発生させます

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

以下の条件を全て満たしている <comboBox/>

  • nexaweb-client.xml の /client-app/testids/generate-unique-ids の設定値が "true" の場合。

  • 子要素(<listBox/>)を持たない <comboBox/> を UI として使用している場合。

事象
内容

testid の記録が有効な状態で、子要素を持たない <comboBox/> が含まれる画面を表示した場合に NullPointerException が発生する。

修正
内容

testid の記録が有効な状態で、子要素を持たない <comboBox/> を表示した場合であっても NullPointerException が発生しない要に修正。

9953

DisplayService#modalAlert()を使用するとメモリリークが起こる

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

API : DisplayService#modalAlert()

事象
内容

DisplayService#modalAlert() API を使用した場合にメモリリークが起こる。

修正
内容

DisplayService#modalAlert() API を使用してもメモリリークが起こらないように修正。

9989

コンボボックス、メニューが開いている際にテーブルのセルをダブルクリックしてエディタを起動した場合に選択セルが移動しない

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

以下の条件を全て満たしているテーブル(<table/>, <treeTable/>)

  • テーブルセルが編集可能である場合。

  • テーブルセルを編集する直前に <comboBox/> もしくは <menuBar/> のドロップダウンリストを開いている場合。

事象
内容

<comboBox/> もしくは <menuBar/> のドロップダウンリストが開いている状態で、選択セル(選択行、選択列)とは異なるセルをダブルクリックした場合に、 編集セルと選択セルの位置が異なる。
マウスのダブルクリックによってセルを編集しているため、選択セルは編集セルと同じになるべきだが、 <comboBox/> もしくは <menuBar/> の ドロップダウンリストが開いている状態からセルをダブルクリックしてセルを編集状態にした場合、選択セルが移動しない。

修正
内容

ダブルクリックによってセルを編集状態にした場合に必ず編集セルが選択セルになるように修正。
この問題は Nexaweb Platform 4.5.16 の 9912 と関連を持っています。
9912 はテーブルエディタとして使用されている <comboBox/> のドロップダウンリストが開いている状態だけを修正しましたが、同様の問題はテーブルエディタとして 使用されている <comboBox/> だけでなく、通常の <comboBox/> もしくは <menuBar/> のドロップダウンリストが開いている状態でも起こっていました。
9912 の修正内容は 10003 の問題を引き起こす原因にもなっていたため、ドロップダウンリストが表示されている場合にセルを編集状態にした場合に関する 振る舞いを修正しました。
この問題の修正によって 9912 の修正内容を破棄(ロールバック)し、 10003 の問題の修正が不要になりました。

9999

textArea 内のテキストデータに改行コードに \r が含まれている場合、カーソルキーによる移動を行うと \r を見えない一文字として移動する

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

\r(0x0d) 改行コードを含む <textArea/>

事象
内容

<textArea/> の文字列の中に \r(0x0d) 改行コードが含まれている場合、 \r を一文字として扱うため、テキストカーソルをカーソルキーによって移動する場合に見えない文字として移動します。
このため、 \r が改行コードとして含まれている場合には文字列の行末で、右にカーソルを移動している場合、見た目よりも 1 度多く右カーソルキーを押さなければ次の行へテキストカーソルが移動しません。
また、 Nexaweb では通常 \r が改行コードとして文字列に含まれる事はありません。
\r 改行コードを通常のユーザーオペレーションで入力することはできませんが、 Internet Explorer を使用しており、 Windows OS 上で \r 改行コードを含む文字列を OS のクリップボード経由で Nexaweb アプリケーションへコピーした場合に <textArea/> に対して \r 改行コードを含める事ができてしまいます。

修正
内容

カーソルキーによるテキストカーソルの移動時に \r 改行コードを見えない文字として移動しないように修正。
また、 <textArea/> に対して \r 改行コードが含まれないようにクリップボードから \r 改行コードを含む文字列がペーストされた場合に \r 改行コードを取り除くように修正。
MCO から意図的に \r 改行コードを <textArea/> へ設定しようとした場合に \r 改行コードを取り除くように修正。

10001

gridTable: <gridTable/> を繰り返して表示していると ArrayIndexOutOfBoundsException が起こる場合がある

環境

OS

:

全て

ブラウザ

:

全て

JVM

:

全て

Nexaweb Platform

:

全て

対象

<gridTable/> UI コンポーネント

事象 内容