=========================================================== Ninja-VA Engine 更新履歴 =========================================================== Copyright(c) 2004-2007 by SIOS Technology, Inc. All rights reserved. ■Ver 4.0_008 (2007/07/17)  ●以下の障害を修正 【重要:BW010239】・セッション固定攻撃のセキュリティホールを修正しました。          web.xmlのuse_ninjava_authをtrueにしているWebアプリケーションで、下記のような          セキュリティホールがありました。           1.悪意を持った人Xが、ログインページにアクセスする。           2.Xが、ログインページのURL(https://xxx.xxx.xxx/xxx/login?_CID=xxx&_WID=xxx)を            正規のユーザAにメールなどで送りつける。           3.AがそのURLからログイン処理を行なう。           4.Xが再度URLにアクセスすると、Aのログイン後のページが表示される。 この修正のために、下記のメソッドを変更・追加しました。 旧バージョンからの移行を行なう方は、移行時の注意事項を参照してください。 - SmartServlet.WebObjectContainerManager addContainer(HttpServletRequest, HttpServletResponse, WebObjectContainer); // 変更 resetContainerId(HttpServletRequest, HttpServletResponse, WebObjectContainer); // 追加 - WebObjectContainer authorize(); // 変更 authorize(HttpServletRequest, HttpServletResponse, boolean); // 追加 resetId(); // 追加 generateId(); // 追加 isAuthorized(HttpServletRequest); // 追加 [BC010241] ・1行だけデータがあるDataTableでdeleteRow()を行った後、getRowIndex()を行なうと -1ではなく-2を返す障害を修正しました。 [BC010242] ・データ行が存在しないDataTableで setValueAsString(row, col, value) getValueAsString(row, col) isNull(row, col) を呼び出す際、rowに-1を指定しても例外が発生しない障害を修正しました。 [BW010237] ・[BW010222]の再修正 - ポップアップをモーダルで表示して、ポップアップ内でボタンを押した後、 ポップアップを閉じると、呼び出し元のSWOのリンクが押せなくなる障害を 修正しました。 - ポップアップをモーダルで表示する際、hiddenパラメタをdisabledにしていましたが、 disabledにしないようにしました。 - HTMLButtonの[AutoDisable]プロパティをtrueにしてポップアップを表示した後、 ポップアップを閉じると、呼び出し元SWOのリンクが押せなくなる障害を修正しました。 [BW010238] ・js/ninjava-submit.jsで、disableLinks()を呼び出すと、 TEXTAREAのonclickが無効になってしまう障害を修正しました。  ●以下の仕様変更・改善を実施 [CS010240] ・[BW010239]に関連したサンプルの修正 - SampleQuicks quicks3.LoginSWO authorizeメソッドの引数を修正しました。 - SampleMydo sample.mydo.LoginWebObject authorizeメソッドの引数を修正しました。 showMenuActionを新規作成しました。 WEB-INF/jsp/login_redirect.jspを新規作成しました。 - SampleTaglib sample.taglib.LoginWebObject authorizeメソッドの引数を修正しました。 [CD010243] ・[BW010239]に関連したマニュアル修正 - 「基本プログラミング for Webの巻」 P.69 authorizeメソッドの引数を修正しました。 - 「コンポーネントガイド手引きの巻」 P.160 authorizeメソッドの引数を修正しました。 ■Ver 4.0_007p2 (2007/06/27)  ●以下の障害を修正 [BC010236] ・DataUtil.XWarekiクラスにおいて次の障害を修正しました。 - "H16/2/29"など閏年の2/29をパースすると03/01に変換されてしまう。 - "H16/1/32"など存在しない日を指定してもエラーにならない。(2/1になる) - "H16/13/2"など存在しない日を指定してもエラーにならない。(1/2になる) ■Ver 4.0_007 (2007/06/04)  ●以下の新機能を追加 [AC010230] ・DataMapに、XMLから読み込んだDataFieldを追加するimportXMLメソッドを 追加しました。 [AC010232] ・DataFieldのTIMESTAMP,TIME,DATEのディフォルトフォーマットパターンを JVM起動パラメータにより指定する方法を追加しました。 [AW010233] ・HTMLDataViewにKeepSelectedBodyRowプロパティを追加しました。 KeepSelectedBodyRow=trueに設定すると、BodyRowSelectedActionにより HTMLDataViewのボディ行を選択した場合に DataTableのSelectedInternalRecordIdが設定されます。 これにより、BodyRowSelectedActionで選択した行の背景色を初期状態で表示する ことが可能になりました。  ●以下の仕様変更・改善を実施 [CW010226] ・SmartServletのdestroy時にサーブレット名をデバッグログに出力するように しました。 [CW010229] ・AjaxActionのレスポンスの末尾の';'を除去するよう変更しました。 [CW010231] ・SmartServletクラスのinitContainerParamsの返り値をbooleanからvoidに 変更しました。([AC010230]に関連) [CD010216] ・「コンポーネントの巻」 JavaScriptのlogout()の説明を補足しました。 [CD010234] ・「応用プログラミング for Webの巻」 詳細画面へ遷移する行選択機能の注意事項を追記しました。 [CS010215] ・サンプル「みつもり毎度」で、IEの閉じるボタン(右上の×ボタン) を押した場合に、ログアウト処理を行うようにしました。 [CS010228] ・各サンプルのweb.xmlにdisplay-nameを定義しました。  ●以下の障害を修正 【重要:BW010222】・ポップアップ画面をモーダルで表示した場合に、タブキーを 利用して呼び出し元画面の入力項目にフォーカスを当てた後、 キーボードにより編集やボタン押下ができてしまう障害を修正 いたしました。 モーダルで表示した場合は、呼び出し元画面内のINPUTタグや リンクをdisabledにするようにしました。 [BC010213] ・importXML()内の無駄な代入文を削除しました。 [BC010217] ・DataTableで1行もデータがない場合にsecureRow()を行うと例外が発生する 障害を修正しました。 [BC010220] ・Servletのdestory時にDefaultDBActionAgentManger.stop()にて NullPointerExceptionが発生する障害を修正しました。 [BC010223] ・DataTableで存在しない行に対してsetValueAsString(int, int, String)を 行った場合、例外が発生せず現在行の値を書き換えてしまう障害を修正 しました。(例外を発生するようにしました。) [BC010224] ・DataTableが非アクティブの状態で、setString(int, String)などを行うと NullPointerExceptionが発生する障害を修正しました。 [BC010235] ・DataUtil.XWarekiクラスでNullPointerExceptionが発生する障害を修正しました。 [BW010219] ・Tabが入れ子になっている場合に、HTMLButtonを押すとJavaScriptで 無限ループになる障害を修正しました。 [BW010221] ・HTMLButtonでAutoDisable=trueとした場合に、ボタンを押した後に 画面上のリンクをクリックできてしまう障害を修正しました。 [BW010225] ・WebActionのメソッド内でNullPointerExcepionなどgetLocalizedMessage()が nullを返す例外が発生した場合に、エラーメッセージが画面に表示されない 障害を修正しました。 [BW010227] ・サーブレットをリロードした場合に、SmartServlet.WebObjectContainerManagerの removeContainerメソッド内でNPEが発生する障害を修正しました。 [BD010214] ・WebDataAdaptor#checkRequestメソッドの説明の誤記を訂正しました。 [BS010218] ・SampleTaglibのexplain.jsp内の誤記を訂正しました。 ■Ver 4.0_006 (2007/04/13)  ●以下の新機能を追加 【重要:AW010183】・セッションパラメタの初期設定を行う機能を追加しました。 /WEB-INF/web_object_container_params.xmlに定義することで、セッション作成時に セッションパラメタを自動生成します。 【重要:AW010185】・HTMLDataViewの行選択機能を改善しました。 HTMLDataViewのBodyRowをクリックするだけで、詳細画面へ遷移できるようにしました。 詳細は、サンプル「見積もり毎度」の見積もり修正の一覧表示をご覧ください。 [AW010181] ・HTMLScrollPaneの横スクロールしない左側の部分の下部に横スクロールバーを表示する 機能を追加しました。 左下の部分に横スクロールバーを表示するには、ShowBarBottomLeftをtrueに設定してください。 [AW010182] ・HTMLTextAreaおよびHTMLTextFieldにPrintRawStringプロパティを追加しました。 PrintRawStringをtrueにすると、ReadOnly=trueの場合に'<'などをサニタイジングせずに HTMLとして出力します。(ディフォルト=false) (セキュリティホールとなる可能性があるので、利用時は注意してください。) [AW010184] ・HTMLTreeViewにノードおよびフォルダーのイメージを指定する機能を追加しました。 [AW010192] ・未選択用のラジオボタンを表示する機能を追加しました。 (IncludeNullOption,NullOptionString,NullOptionResourceをHTMLRadioButtonでも 利用できるようにいたしました。) [AW010210] ・HTMLLabelなどで半角空白を置換せずにそのまま出力するための プロパティ[ReplaceSpace]を追加しました。 追加したのは下記のフィールドです。 - HTMLExpression - HTMLLabel - HTMLRadioButton - HTMLSelectionList - HTMLLTextArea - HTMLLTextField  ●以下の仕様変更・改善を実施 [CC010179] ・Ninja-VA内でCommit,Rollbackを発行した場合にログ出力(ログ出力レベル=デバッグ) を行うよう変更しました。 [CC010180] ・DefaultDBActionを利用した場合に、Connect時の所要時間をSQLTimeLoggerで 出力するよう変更しました。 (Connectの時間は照会ログとして出力されます。) [CC010187] ・[BW010186]に関連して、DefaultDBActionAgentManagerのデバッグログ出力時に、 DBActionAgentManager名を出力するよう変更いたしました。 [CC010189] ・XWarekiクラスの処理速度が速くなるようリファクタリングしました。 (1000回のループの処理が13.5ms→2.9msになる程度) [CC010205] ・SQL中の/*$ param $*/形式のパラメタ値をログ出力できるようにしました。 [CC010206] ・DB接続時に"CONNECT"のSQLログ DB接続の切断時に"CLOSE"のSQLログ を出力するようにいたしました。 (ただし、APサーバのJDBCデータソース利用時は出力されません。) [CC010209] ・DB2の場合のディフォルトのJDBCドライバーのクラス名および接続URLを Ver8.1のType4に準拠するよう変更しました。 変更前: JDBCドライバーのクラス名: COM.ibm.db2.jdbc.net.DB2Driver 接続URL : jdbc:db2://127.0.0.1:1433/mydb 変更後: JDBCドライバーのクラス名: com.ibm.db2.jcc.DB2Driver 接続URL : jdbc:db2://127.0.0.1:50000/mydb [CW010178] ・ninjava-ajax.js内のXMLHttpRequestオブジェクトの生成方法を変更しました。 (Microsoft Internet Explorer 7.0対応への布石) [CW010195] ・WebDataAdaptor.CheckResultクラスのgetInternalRecordNo()メソッド名を getInternalRecordIdIntValue()に変更し、かつ、 パッケージプライベートからpublicにしました。 [CW010204] ・SmartServletのhandleExceptionの最初の1行の書式を変更しました。 変更前: "!!!!! エラーが発生したクラス名 Exception:例外のクラス名" 変更後: "!!!!! ErrorClassName=エラーが発生したクラス名, _SUB=WebAction名, Exception=例外のクラス名" ・また、上記の行をエラーログにも出力するように変更しました。 [CW010208] ・WebObjectContainer.removeSmartWebObject(String removeSwoName) メソッドを呼び出した場合に、SmartWebObjectクラスのremove() メソッドを呼び出すようにしました。 (ディフォルトでは何も行っていません。) ・また、WebObjectContainer.removeSmartWebObjectで出力していた下記 のデバッグログを出力しないようにしました。 [CS010198] ・[AW010183]関連 SampleQuicks,SampleMydo,SampleTaglibのセッションパラメタを web_object_container_params.xmlより生成するよう修正しました。 [CS010199] ・[AW010185]関連 SampleMydoの見積もり一覧での選択方法を変更しました。 (BodyRowをクリックしただけで詳細画面へ遷移するようにしました。) [CS010200] ・SampleMydoのStyleSheetFilesをBaseWebObjectにて設定するよう変更しました。 [CS010201] ・[CW010191]関連 SampleQuicksのBugManSWOで新規入力し保存ボタンを押した後、 入力用HTMLDataView(dvInput)を再表示するよう変更しました。 [CD010207] ・「応用プログラミング for Webの巻」の下記を修正しました。 - P.45 アクション設定ダイアログの[HTMLDataView]の説明を訂正 - 「参の章 高度なHTMLユーザインターフェース」に 「詳細画面へ遷移する行選択機能」の項を追加 - 「伍の章 様々な機能の実現」に 「セッションパラメタの作成」の項を追加  ●以下の障害を修正 [BW010188] ・HTMLField.Type.toName(HTMLField.Type.SCROLL_PANE)がnullを返す障害を修正しました。 [BW010211] ・js/ninjava-common.jsに日本語のコメントが入っていたので除去しました。 (英語環境などで動作しなくなる可能性があるため。) [BW010212] ・doNinjavaSubmit()で、autoDisable=trueを指定すると、 FirefoxでdisableLinks()の処理に時間がかかる障害を修正しました。 [BD010203] ・SQLTableのMaxRowsとFetchSizeの説明中のinResult()をinBounds()に訂正しました。 [BS010197] ・SampleQuicksのBugManSWOのinitialize内で、super.initialize()を2回呼び出している 障害を修正しました。 ■Ver 4.0_005p2 (2007/03/28)  ●以下の新機能を追加 [AC010202] ・UpdateSQLでも/*$ xxx $*/形式のSQLを利用できるよう機能追加いたしました。           また、SQLインジェクションのセキュリティホールとならないよう、利用者が入力した           文字を含める際は十分注意してください。  ●以下の障害を修正 [BW010204] ・web.xmlに複数サーブレットを定義し、それぞれに異なるサーブレットパラメタを 定義した場合に、WebObjectContainer#getServletProperty()メソッドで、サーブレット パラメタが読み取れなくなる障害を修正いたしました。 ・この修正に際し、WebObjectContainerクラスにsetServletName(String),getServletName() メソッドを追加しました。 ・SmartServlet#SERVLET_PROPERTY_SUFFIX および SmartServlet#NINJAVA_SERVICE_MAP_SUFFIX を追加いたしました。 [BW010205] ・HTMLDataViewでAutoActivateData=falseかつ、DefaultDataであるDataTableが非アクティブの 場合に、余計な枠線が表示されてしまう障害を修正いたしました。 ■Ver 4.0_005p1 (2007/03/09)  ●以下の仕様変更・改善を実施 [CW010191] ・WebDataAdaptor.checkRequestで新規行がない場合に、新規行への値を行おうとすると 現在行へ設定されるようになっていますが、これをエラーとするためのシステムプロ           パティを追加いたしました。 エラーとした場合は、 「指定した内部行が存在しません。DataTable名=xxx, InternalRecordId=-100」 というようなエラーメッセージが出力されるようになります。 エラーとしたい場合は、JVM起動時に -Dcom.tenartni.ninjava.web.webdataadaptor_cause_error_not_exist_record=true を設定してください。 詳細は、NJSystemPropertyクラスのWEB_DATA_ADAPTOR_CAUSE_ERROR_NOT_EXIST_RECORDを 参照してください。 [CW010193] ・InternetExplorer 6.0を利用時にタグのname属性にSmartWebObject名を含めるよう変更。 [CC010014] ・DataFieldExceptionのコンストラクタのI/Fを DataField名ではなく、DataFieldオブジェクトを受け取るよう変更。 [CC010016] ・TextTableのEncodingプロパティのディフォルト値をnullに変更。 (nullの場合にはSystem.getProperty("file.encoding")の値を適用します。) ・TextTableのLineSeparatorプロパティのディフォルト値をnullに変更。 (nullの場合にはSystem.getProperty("line.separator", "")の値を適用します。) 【重要:CW010017】SmartWebObjectをインスタンス化した後に、firstInitializeメソッドを呼び出すよう仕様変更。 [CC010019] VersionInfo.NINJAVA_VERSION_NOフィールドの可視属性をpublicからprivateに変更。 (バージョンを取得したい場合は、VersionInfo.getVersionNo()を使用してください。) [CW010023] HTMLErrorMessageのディフォルトStyleをピンク・太文字に変更。 [CW010024] HTMLFreeCodeにOutputStyleプロパティを追加 このプロパティがtrueの場合は、...で囲むよう変更。 【重要:CW010027】HTMLDataViewのSubmitAttributeのディフォルト値をnullから "style=\"margin-top:0;margin-bottom:0;\""に変更。 ポップアップウィンドウ内に表示した際に、余計な空行が出力されるのを防ぐため。 ※
...
で空行が出力することを期待して作成した画面では表示が ずれる恐れがあります。その場合には、SubmitAttributeに "style=\"margin-top:10;margin-bottom:10;\""のような値を設定してください。 【重要:CC010029】・DataFieldの正規表現のパターンマッチングに使用するエンジンをJakarta OROから JDKのjava.util.regexパッケージに変更 ・Ver 3.0からの移行用にシステムプロパティREMOVE_REGEXP_HEAD_TAILを追加 [CC010031] DataTable.DataTableValueCache.Backupでバックアップ、リストアを行った場合に、 現在行を復元するよう変更。 [CC010034] ソース内でnew BigDecimal(int),new BigDecimal(long)を使用しないよう修正(JDK5.0対応)。 [CW010036] LifeSpanがVOLATILEやREQUESTのSmartWebObjectを再作成した場合のログ出力 レベルをWARNからINFOに変更  ●以下の障害を修正 [BW000395] HTMLLabelでLinkType=ActionでAction名を指定しなかった場合、HTMLとして余計な'>'が出力される障害を修正。 [BC000396] 計算式で、(true&&(true))&&(true)という式を設定すると、関数が見つからないというエラーが発生する障害を修正。 ((true)&&(true))&&(true)とすれば、回避可能。 この修正により、"X(0)"と記述した場合、従来は「関数名が正しくありません。」という エラーメッセージだったが、今後は「構文が正しくないか、複雑すぎます。」と表示されることがあります。 [BW000397] HTMLDataViewのDefaultDataに件数0のDataTableを設定した場合に、 絶対座標指定のHTMLDataViewが出力されなくなる障害を修正。 ※従来と同じように、絶対座標指定のHTMLDataViewでDafaultDataである DataTableが0件の場合に表示させたくない場合は、HTMLDataViewの VisibleConditionに [dataTable.count()] > 0 を設定してください。 ※今回の修正で、DefaultDataがDataMapまたは未設定の場合に setCurrentStartRow()を行うと、 currentStartRow = -1 currentEndRow = -1 となるよう変更されました。 強制的にcurrentStartRowの値を変更するには、 setCurrentStartRow(5, false, true);のようにしてください。 [BC010015] DataTableでsetActive(true)を行った後、 DataField.getNJParent().getNJParent()の値がnullになってしまう 障害を修正(正しくは、DataTable)。 [BW010025] SelectionList, RadioButtonで、選択肢をDataTableから作成する場合に DataTableにフィルターをかけた場合に、選択肢が変更されない障害を修正。 【重要:BC010026】DataTableでdeleteRow()を行ったときに、削除処理中にDONE_DELETEが呼ばれる障害を修正。 (削除処理完了後に呼ばれるよう修正した。) 従来のDONE_DELETE(削除処理中)は ROW_DELETING イベントとして捕捉可能。 ※DONE_DELETEが削除途中で呼ばれることを期待して作成したプログラムは ROW_DELETING をキャッチするよう変更する必要がある。 [BW010028] SmartWebObjectに複数のInfoMessageを追加した場合に、 SmartWebObject.getInfoMessageForJavaScript()で、改行されずに 連結されて表示される障害を修正。 [BW010030] 新規に追加した行をRecordSelectionRadioで選択しても、無視される障害を修正。 [BC010035] DataFields.renameDataFieldでDataFieldの名前が変更されない障害を修正。 [BC010037] Servletのdestory時にNullPointerExceptionが発生しないよう修正。 ■Ver 3.0_008p1 (2006/01/27)  ●以下の新機能を追加 【重要:AC000381】Ninja-VA Studioで、ODBC, HiRDBのときにテーブル選択、データ閲覧・更新を可能にしました。 (ただしHiRDBの場合、更新は不可) [AC000384] MS Accessなど、setAutoCommit, getPrimaryKeyが利用できないJDBC Driverに対応しました。 [AC000390] SizeConverter.toFull()メソッドを新規作成 [AW000391] SmartWebObjectでスタイルシートファイル名を指定できるよう機能追加 [AC000392] BigDecimalUtilクラスを新規作成(JDK5.0対応への布石)  ●以下の仕様変更・改善を実施 【重要:CW000386】HTMLDataView, HTMLFieldに対してリファクタリングを実施。 ・HTMLDataView,HTMLDataView.Row,HTMLDataView.Cellに対して下記の変更を実施。 - StyleIdプロパティをIdプロパティに変更。 (従来のHTMLDataView.Idプロパティは廃止) - Styleプロパティを追加 - BgColorプロパティをStyleに統合。 ・HTMLDataView.RowのAlign,ValignプロパティをStyleに統合 ・HTMLDataView.CellのAlign,Valign,NowrapプロパティをStyleに統合 ・IHTMLStyleSheetのパッケージを com.tenartni.ninjava.web.filed から com.tenartni.ninjava.web に移動 ・HTMLField継承クラスからStyleIdプロパティを削除し、HTMLFieldにIdプロパティを追加。 ・HTMLLabel,HTMLExpression,HTMLRecordNumberは常にを  出力するよう変更。 ・入力系のHTMLFieldもReadOnly=trueの場合、を出力するよう変更。 ・HTMLLabel,HTMLExpression,HTMLRecordNumber,HTMLImageにLinkId,LinkStyleClass  LinkStyleプロパティを追加し、それらはタグ内のid,class,styleとして出力する  よう変更 ・HTMLImageのBorder,Alignプロパティを廃止(Styleに統合) ・HTMLErrorMessageの表現方法を変更 [CW000388] Log4j.propertiesからthreshold=INFOの定義を削除 [CW000394] HTMLDataViewのHeight,Widthおよび、RowのHeght, CellのWidthに負の数値を 表す文字列が設定されていた場合、HTMLには、Height,Widthを出力しないよう 仕様変更  ●以下の障害を修正 [BW000382] com.tenartni.ninjava.web.taglib.logic.IterateTagクラスにて無駄なオーバーライドを削除しました。 [BW000383] com.tenartni.ninjava.web.taglib.util.RequestUtilsクラスにて無駄な変数を削除しました。 [BW000385] 選択リストやラジオボタンで、選択肢の元データとなるDataTableをsetActive(true)と しても選択肢が再作成されない障害を修正 [BC000387] ResultSetを返すストアドプロシージャの実行終了時にResultSetを閉じるよう修正 [BC000389] SizeConverter.toHalf()で全角の’”゛[]「」が正しく半角に変換されない障害を修正 [BC000393] TableRelation.selectFamily(-1)で子テーブルの行が0にならない障害を修正 ■Ver 3.0_008 (2005/12/08)  ●以下の新機能を追加 [AC000365] DataMapをXML出力時にXMLの種類をコメントとして出力するよう XMLDataMapUtilクラスのexportXML, exportXMLToStringメソッドに 引数kindNameを追加したバリエーションを増やしました。 (従来のメソッドもそのまま存続) [AW000368] HTMLExpression, HTMLImage, HTMLLabel, HTMLRecordNumberに Linkを有効にするかどうかの計算式(LinkEnabledCondition)を追加しました。 これに関連して、HTMLLabel.writeHTMLString()のI/Fを変更(引数にint rowIndexを追加。 互換性維持のため、旧メソッドも存続。) [AW000372] tableタグのid属性を指定する機能を追加しました。 これに伴い、HTMLDataView#writeTableTagメソッドの可視属性をprivateからpublicに 変更しました。 [AW000376] SmartServletのinit()時に、WEB-INF/log4j.xmlのファイルがあった場合、それをLog4jの 設定ファイルとして読み込む機能を追加しました(log4j.configよりも優先)。  ●以下の仕様変更・改善を実施 【重要:CW000367】HTMLのSPANタグおよびDIVタグ終了時に\nを出力しないよう変更しました。 これにより、SPANタグおよびDIVタグ終了時に空白が表示されることを期待して デザインしていた画面は、空白の分が詰まって表示されるようになるので注意が必要です。 【重要:CC000380】NJObject.setName()関連をリファクタリングいたしました。 ・NJObjectに検証用オブジェクトを指定して名前をつけるsetNameメソッドを追加。 ・NJAdaptor.renameNote()でDataExceptionをスロー可能にした。 ・NJObject.NJObjectNameValidatorインターフェースおよびその実装クラスを追加。 ・DataUtilクラスからINVALID_NAME_CHARSフィールドおよびcheckNameメソッド を削除。(NJObjectクラスへ移動) ・Data,HTMLDataViewの名前に使用できない文字を追加(!#%~^?|{}) ・HTMLDataView.setName(String)で名前が不正な場合、DataException をスローするよう変更。 →これにより、HTMLDataViewContainer.renameHTMLDataViewも DataExceptionをスローするよう変更。 [CW000369] データ件数が0件の場合、キャプションソート用のLinkをラベルとして表示する よう変更しました。 [CC000374] RandomUtilにsetSeedメソッドを追加しました。 setSeed直後の乱数を捨てるよう変更しました。 [CX000375] nj_service_config.xmlの読み込み時にClassNameが不正な場合に、 WARNレベルのログを出力するよう変更しました。 [CW000378] SmartServlet#startWebObjectContainerManagerメソッドにforceパラメタを追加しました。 (単体テスト用) [CC000379] VersionInfoにprivateのsetVersionNoメソッドを追加しました(単体テスト用)。  ●以下の障害を修正 [BW000366] SmartDataView内のHTMLDataView内に配置したボタンが、AutoDisableの対象にならない   障害を修正しました。 [BX000370] NinjavaActionにて、HTTPレスポンスに対してGZIP圧縮を行うとエラーが発生する障害を 修正しました。 [BX000371] NinjavaServletにて、ログオフ時に返すメッセージを"1:INVALIDATION_SUCCESS"から "0:INVALIDATION_SUCCESS"に訂正しました。 [BC000373] 計算式中で"xx\"yy"のような固定文字列を使用した場合に xx\"yy と評価されてしまう 障害を修正しました(正しくはxx"yy")。 ■Ver 3.0_007 (2005/11/07)  ●以下の新機能を追加 【重要:AW000327】SmartWebObjectにsetStopResponse, isStopResponseメソッドを追加。 (WebActionから呼ばれたメソッド内でHttpResponseへの書き出しが可能になりました。) 【重要:AC000329】排他制御をjava.sql.Statement.executeUpdate()の返り値ではなく SELECT文の件数で行うモードを追加。 JDBCAdaptorに対してリファクタリングを実施。 PreparedStatement作成時にSQLをデバッグログに出力していたのを中止。 【重要:AW000348】WebActionにKeepAliveプロパティを追加。 (trueに設定すると、SmartWebObjectのLifeSpan属性を無視して、 セッションからの削除を行いません。) 【重要:AW000349】WebActionにpreAction,checkRequest,postAction,handleExcepionメソッドを追加しました。 (WebActionのメソッドを呼ぶ前の前処理と後処理およびエラー処理を追加) 【重要:AW000350】WebActionにRoleプロパティを追加。 (WebActionを実行可能なRoleを設定できるよう機能追加) WebObjectContainerにhasRoleメソッドを追加。 SmartWebObjectのisUserInRoles(HttpServletRequest)を非推奨に変更。 【重要:AW000353】com.tenartni.ninjavax.webパッケージを新規作成しました。 【重要:AW000355】web.xml中にContextパラメタあるいはServletパラメタの値として ${ServletRealPath}という文字列を指定した場合、 ServletContext.getRealPath("/") の値に置換するよう機能を追加しました。 【重要:AW000356】複数のDBActionConnector利用に正式に対応しました。 これに伴い、DBActionConnector関連のプロパティの指定方法を変更しました。 【重要:AW000359】SmartWebObjectのLifeSpanのタイプにREQUESTを追加しました。 【重要:AW000361】WebActionにCheckSequenceプロパティを追加しました。 [AC000303] InternalRecordHandlerのsetValueAsObjectで、Date,Time,Timestamp 型のカラムに対する値の設定を拡充。 ・Date型のカラムへのTimestampの設定 ・Time型のカラムへのTimestampの設定 ・Timestamp型のカラムへのDate,Timeの設定 [AC000310] DataTableのfindRowで複数の値の組み合わせを検索できるよう機能追加。 [AC000315] NJObjectにTagプロパティ,setTag,getTagメソッドを追加(AD.xmlにも記述可能)。 [AC000320] クラス関連のユーティリティメソッドを集めた com.tenartni.ninjava.util.ClassUtilクラスを作成。 [AC000321] IO関連のユーティリティメソッドを集めた com.tenartni.ninjava.util.IOUtilクラスを作成。 [AC000322] ファイル関連のユーティリティメソッドを集めた com.tenartni.ninjava.util.FileUtilクラスを作成。 [AC000323] XMLDataMapUtilのimportXMLメソッドのバリエーションを追加。 (InputSourceを引数として受け取れるようにした。) exportXMLToStringメソッドのバリエーションを追加。 (単一のDataMapを引数として受け取れるようにした。) [AC000324] DataUtilにcreateTmpNameメソッドを追加。 [AC000330] StringUtilにBOMにより文字コードを判定するメソッド:getCharsetを追加。 [AC000331] TimestampUtilに現在時刻を返すメソッド:currentTimeMillisを追加。 (テスト時に、固定の時刻を返す場合などに利用する。) [AC000332] NJMessageDigestにtoBytesメソッドのバリエーションを追加。 [AC000334] DataTable.isNull(int rowIndex, String columnName)メソッドおよび DataTanle.isNull(int rowIndex, int columnIndex)メソッドを追加。 [AC000340] DataField.Constraintに半角カナを含まない半角文字のみの 制約:REQUIRED_SINGLE_BYTES_WITHOUT_KANAを追加 [AW000344] ハイパーリンクをクリックした際にJavaScriptによる検証を行うか否か、 画面上のボタンを押せなくするか否かを設定する機能を追加。 [AC000351] ・DataContainerのXML インポート/エクスポート時にDataFieldの Constraint, Expressionを扱えるよう機能追加。 ・DataContainerのXMLエクスポート時に出力するDataTable,DataMapがない 場合は、njdiffなど不要なタグを出力しないよう変更。 ・XMLインポート/エクスポート時にSQL関連のプロパティを除外できるよう にするため、importXML,exportXMLのI/Fを変更。 ・XMLインポート時に、FieldTypeが指定されていないカラムはエラーにしていたが これを、読み飛ばすよう仕様変更。 [AC000357] DataTableにclone()メソッドを追加しました。 [AW000363] WEB-INFフォルダの下にlog4j.configという名前のファイルがあれば Log4jの設定ファイルとして読み込むよう機能追加。  ●以下の仕様変更・改善を実施 【重要:CC000306】下記のリファクタリングを実施。 ・NJObjectインターフェースを実装した基底クラスDefaultNJObject, NJComponentインターフェースを実装した基底クラスDefaultNJComponentを作成。 ・NJObject実装クラスをDefaultNJObject継承クラスとした。 ・NJComponent実装クラスをDefaultNJComponent継承クラスとした。 【重要:CC000338】Base64のencode/decodeをJakarta CommonsCodecを利用して行うよう変更 (Base64Encoder,Base64Decoderクラスを削除) 【重要:CW000346】SmartServletをリファクタリング(Win2Jaws対応)。 ・下記のメソッドにRequestHashMapの引数を追加。 (互換性維持のため、旧メソッドも存続) - printContainerExceededMaximum - printExecuteContainerExceededMaximum - printExecuteContainerTimemout ・下記のメソッドにRequestHashMapおよびSmartWebObjectの引数を追加 (互換性維持のため、旧メソッドも存続) - handleException ・下記のメソッドにRequestHashMapおよびStringの引数を追加 (旧メソッドは存続させない) - printInitialWebObject 【重要:CW000362】・WebActionを実行するメソッドのI/Fを変更。 ・RequestHashMap.getSubmitValue(String)メソッドの名前をgetParameter(String)に変更。 【重要:CW000364】WebActionが見つからなかった場合に例外をスローするよう変更。 [CC000301] 複数のDBActionConnectorをXMLファイルで定義した場合に、 printInitialWebObject()内で生成したDBActionConnectorに名前を 設定するよう変更。 [CC000304] 計算式でのnullおよび例外の扱いを寛容にした。 ・例外 || true → true ・例外 && false → false ・null == null → true ・null == !null → false ・null != null → false ・null != !null → true ・null と 文字列との比較→nullを""として比較するよう変更 (従来はいずれも、Exceptionが発生) [CC000307] DataTableのgetValueCache(boolean)の可視属性をprivateからpublicに変更。 [CW000308] ninjava-header.xspのgetElementIndexにincludeHidden引数を追加 [CW000311] RequestHashMapで、keyに対応する値がStringの場合はその値を返すよう変更。 また、keyに対応する値がStringでもString[]でもない場合は""を返すよう変更。 [CW000312] WebDataAdaptorについて下記の仕様変更を実施。 ・Secureモードの場合、WebDataAdaptorで、HtmlFieldが未定義のinputNameについては 入力値解析を行わないよう変更(セキュリティ強化) ・Secureモードの場合、ラジオボタン・選択リストで選択肢にない値が送信された場合 入力値解析を行わないよう変更(セキュリティ強化) ・WebDataAdaptor.CheckResultクラスのコンストラクタのI/Fを変更 (エラーになったデータ名を渡すよう変更) ・getFieldNameの可視属性をpublicに変更。 [CC000314] DefaultADReader.getAdaptorType()で、UTF-16LE,UTF-16BEの文字コードのXMLでも AdaptorTypeを返すよう変更 [CC000316] AdaptorDescriptionWriterのI/Fを変更。(出力時の文字コードを指定するよう変更) 互換性維持のため旧I/Fもdeprecatedとして存続。 改行文字を"\n"ではなく、システムプロパティのline.separatorの値とするよう変更。 [CC000325] DefaultADReaderのgetAdaptorTypeメソッドの引数をファイル名から InputStreamに変更(旧メソッドも互換性維持のため、存続) [CC000336] Operand2クラス内のBigDecimal#compareTo(Object)をBigDecimal#compareTo(BigDecimal) に変更。(JDK5.0対応に向けての準備) [CW000339] WebObjectContainerクラスのメソッド名を変更(isInvalidate ===> isInvalidated)。 (互換性維持のため、旧メソッドも存続) [CC000341] DataFieldのFormatPatternがnullまたは長さ0の文字列の場合に formatDate(),parseObject()を呼び出した際にDataField.Type に応じたデフォルトのフォーマットパターンを適用するよう変更。 (変更前はDataField.Typeに関係なくDateFormat.getInstance()を利用していた。)  ●以下の障害を修正 【重要:BW000343】SmartWebObjectでOutputTypeにOTHER,FILE_DOWNLOADを選択し、 response.getWriter()を呼び出した場合に java.lang.IllegalStateException: getWriter()はこのレスポンスに対して既に呼び出されています at org.apache.coyote.tomcat4.CoyoteResponse.getOutputStream(CoyoteResponse.java:572) at org.apache.coyote.tomcat4.CoyoteResponseFacade.getOutputStream(CoyoteResponseFacade.java:156) というような例外がスローされる障害を修正。 [BC000302] DataクラスにremoveDataValidator(DataValidator)メソッドを追加(実装漏れ) [BW000305] ninjava-header.xspのMETA http-equiv="Content-Script-Type"の誤記を訂正 [BC000309] DataTableの下記の障害を修正。 ・deleteRow()の後、getValueAsString(rowIdx,columnIdx)を行うと 削除する前の状態の値を取得してしまう障害を修正 ・appendRow()の後、secureRow()せずにfindRow()を行うと、 DataExceptionが発生する障害を修正 [BC000313] ・TableRelationで、親テーブルが0行のときに、rowFilteringを呼び出すと、 スタックトレースが出力される障害を修正。 ・rowFiltering内で例外をキャッチした場合、RuntimeExceptionをスローするよう修正。 ・TableRelationで親または子のDataTableでsecureRow()を行った際、 子のValueCacheと値比較を行わなければならない箇所を子のParamsと 値比較を行っていた障害を修正。(無駄処理の削減) [BC000317] DefaultADWriterで、親クラスがNJAdaptor実装クラスでない場合にも 親クラスのAD.xmlを読み込もうとする障害を修正。 [BW000318] HTMLSelectionListで、半角空白をそのまま出力していた障害を修正。 ( に変換して出力するよう変更) [BC000319] DataMapで、addField()を行った直後にsetValueCache(null)を行うと ArrayOutOfBoundsExceptionが発生する障害を修正。 DataMap.setValueCache(null)を行った場合に、removeAllFields() および internalRecordHandler.clear() を行うよう変更。 [BC000326] 計算式に構文エラー(例:"AAA" + "BBB)があった場合に、エラーメッセージが 正しく表示されない障害を修正。 [BW000328] DataFieldのConstraintにREQUIRED_SINGLE_BYTESを設定したときに、半角カナを 入力するとJavaScriptによるチェックでエラーとなってしまう障害を修正 [BC000333] Serializerクラスのメソッド名:HexStringToByteArrをhexStringToByteArrに訂正。 (旧メソッドも互換性維持のため存続) [BC000335] DataFieldに計算式が設定されている場合、Data#isNull(int columnIndex)が 常にtrueを返す障害を修正。 [BW000337] checkRequest時の無駄処理を削減。 [BC000342] ValueCheckクラスのisAlph(String)が、全角英字であってもtrueを返す障害を修正。 [BW000345] HTMLNavigation,HTMLPageNavigationのページ遷移の際に、 UseJavaScriptValidation, AutoDisableプロパティが無視される障害を修正。 [BC000347] MySQLでResolveKeyColumnsにNull可のカラムが含まれている場合に、更新前 のデータとして''(長さ0の文字列)が格納されていた場合、更新時および削除時に 更新エラーとなる障害を修正。 [BC000358] DB接続設定ファイルにTransactionIsolation,PendingCommitを 設定しても無視される障害を修正。 ■Ver 3.0_006 (2005/08/03)  ●以下の新機能を追加 【重要:AW000288】HTMLScrollPaneを新規追加。 [AW000287] HTMLDataView.CellにRowSpanControlFieldsプロパティを追加。 [AW000289] HTMLSelectionListのNullOptionStringをリソース指定できるようにした HTMLSelectionList, HTMLRadioButtonのOptionStringをリソース指定できるようにした [AW000290] HTMLCheckBox, HTMLRecordSelectionRadioのBooleanStringsを リソース指定できるようにした。 [AW000291] HTMLNavigationのTextFirst,TextBack,TextNext,TextLastプロパティを リソース指定できるようにした。 [AW000292] HTMLPageNavigationのTextBack,TextNextプロパティを リソース指定できるようにした。 [AW000293] HTMLImageのImageSrcに計算式を設定できるよう機能追加。 [AC000296] SQLServerTypeにSYBASE, INFORMIXを追加 [AC000297] Provide,Resolve直後のデータ内容をファイル出力する機能を追加 [AC000298] XMLDataMapUtilに下記の機能を追加 ・InputStreamからのインポート ・DataFieldのTypeを指定してインポート ・DataFieldのTypeをエクスポート [AW000300] WebActionにIgnoreErrorsプロパティを追加  ●以下の仕様変更・改善を実施 【重要:CC000282】SmartDBActionのProvide,Resolve対象としてSQLTable以外のDataTableも 使用可とした。 上記に対応するため、メッセージのSQLTABLE_FOR_DB_ACTION_TABLE_NOT_FOUNDを DATATABLE_FOR_DB_ACTION_TABLE_NOT_FOUNDに変更。 [CW000278] WebObjectContainerのLocaleプロパティをシリアライズ対象にするよう変更。 [CW000279] DEBUGモードの場合、SmartWebObjectのexecuteメソッド内で例外を キャッチしたときにスタックトレースを出力するよう変更。 [CC000280] DataTable.doInternalApplyFilter()で、ValueCacheがヌルの場合 フィルタリング処理を行わないよう変更。 [CC000285] 行選択リンクまたは行選択ボタンが押されたときに、DataTableの releaseFilter()を呼んでから、行移動するよう変更。 (フィルターがかかっていて選択された行が非表示になっている可能性があるため。) [CC000286] DefaultADReaderで未知のプロパティ名があった場合、または、オブジェクト参照 を解決できなかった場合に、読み取りを終了するのではなく、ログにエラーメッ セージを出力した後、読み取り処理を続行するよう変更 [CC000299] DBへの更新順序をデータのロード順で統一  ●以下の障害を修正 [BC000275] DataContainerのimportXMLの障害を修正。 ・AutoCencelEmptyRowが常にfalseになってしまう ・.NETフォーマットでDataTable付属のDataMapが、単独のDataMapになってしまう。 ・DataFieldのTypeが指定されていない場合にエラーとならない。 [BC000276] Msg_ja.propertiesのフィールド名の誤記を訂正。 ・IMPORT_XML_FIELDNAME_NOT_SPECIFIED ・IMPORT_XML_FIELDTYPE_INVALID [BC000277] DBActionConnector.provideData()で受け取ったValueCacheがnullの場合に DataExceptionが発生する障害を修正。 [BC000281] SmartDBActionのdoCustomResolveで、更新対象のSQLTableに名前なしの ValueCacheを設定すると、NullPointerExceptionが発生する障害を修正。 [BW000283] 数値型のDataFieldにFormatPatternを設定すると、サブミット時に JavaScriptでのチェックでエラーになる障害を修正。 [BC000284] SmartDataViewを取り込むと変更していないプロパティまでXMLに 出力される障害を修正。 SmartDataViewを持つSmartWebObjectを継承すると、変更していない プロパティまでXMLに出力される障害を修正。 [BW000294] 絶対座標利用でSubDataViewAreaを利用したときに表示されるHTMLDataView の座標が(SubDataViewArea+HTMLDataViewの座標)となっていたのを、 SubDataViewAreaの座標となるよう修正。 [BC000295] 同一のSmartDBActionをほぼ同時に呼び出した場合に、無駄なインスタンス が作成される障害を修正(Cache=true時のみ発生) ■Ver 3.0_005 (2005/06/27)  ●以下の新機能を追加 【重要:AC000249】エラーメッセージをロケールに応じて表示できるようにした。 ロケールに応じたリソース文字列(HTMLLabelなど)を表示できるようにした。 【重要:AW000272】HTMLButtonにTypeプロパティを追加し、行選択に使用できるようにした。 [AC000241] DataFieldのDefaultValueを指定できる機能を追加。 appendRow(),insertRow(int)時に値を設定する 。 [AC000250] StringUtilクラスのrepalceCharToESCメソッドのバリエーションを追加。 [AC000263] DBActionConnectorのexecuteSQLメソッドのバリエーションを追加。 [AC000266] 計算式にNVL(),DECODE()関数を追加。nullを予約語とした。 [AW000242] HTMLDataViewにIncrementRowIndexプロパティを追加。 [AW000258] HTMLExpressionにMaxLengthプロパティを追加。  ●以下の仕様変更・改善を実施 【重要:CC000247】DataContainerのXML出力/入力に関して大幅変更。 XML出力 XML出力時のフォーマットを変更。 出力するDataTable名, DataMap名, DataRelation名を指定可能にするなど、 XML出力時のI/Fを変更。 CLOB型のDataFieldを string で出力するよう変更。 BLOB,LONGBINARY型のDataFieldを base64Binary で出力するよう変更。 OBJECT型のDataFieldが含まれていた場合、DataExceptionをスローするよう変更。 XML入力 TableRelationをクリアしてからインポートするよう変更。 【重要:CC000248】com.tenartni.ninajva.sql.httpパッケージを全面的にリファクタリング。 HttpDBActionAgentの実装クラス名を指定できる機能を追加。 Executeサービスを利用できる機能を追加。 HttpDBActionServletでBasic認証を行う機能を追加。 【重要:CC000264】SmartDBActionクラスのdoCustomExecuteメソッドのI/Fを変更。 (互換性維持のため、旧メソッドも存続) [CC000243] HTMLDataViewクラスのgetBodyRow()などでRowオブジェクトが見つからない場合 エラーメッセージにHTMLDataView名を含めるよう変更 [CC000244] HttpDBActionConnector使用時にUser-Agentとして送信するNinja-VAのバージョン 番号をVersionInfoクラスから取得するよう変更 [CC000252] HSQLDBのDecimal型のカラムをSQLTableにて取得すると、HSQLDBのJDBCドライバー の不具合によりPrecision=646456993となってしまう障害を回避。 [CC000255] DataField.Type.toValue()などで大文字小文字を区別しないよう変更。 [CC000256] AdaptorDescriptionUtil.Type.toValue()で大文字小文字を区別するよう変更。 [CC000259] DataField名などの禁止文字(INVALID_NAME_CHARS)を変更可能にした。 [CW000262] releaseFilterを行った後にHTMLDataViewの最終行を自動調整するよう変更。 [CW000267] ninjava-header.xsp内のninjavaSetFocus()で対象エレメントがdisabledの場合は フォーカスを移動しないよう変更。 [CC000268] 継承したNJAdaptorで、親クラスで作成したNJComponentをそのまま利用した場合に 配置座標を出力していたが、親と全く同じ場合は出力しないよう変更。 [CC000270] NJAdaptor.TypeクラスをNJAdaptorIntConverter実装クラスに変更。 [CC000273] SmartWebObjectクラスのgetDBActionTablesメソッドで処理すべきDBActionTableが 見つからなかった場合のエラーメッセージを変更。 [CC000274] WebObjectContainerのgetDBActionConnector()メソッドのdeprecatedを除去。  ●以下の障害を修正 [BW000239] ページ遷移を行う際、_INFパラメタに不正な文字が設定されていた場合に          IndexOutOfBoundsExceptionが発生する障害を修正。 [BW000240] HTMLDataFieldでLinkType=SELECTIONかつRowIndexOffset!=0の場合に 正しい行が選択されない障害を修正。 [BC000245] Timestamp型のカラムのナノ秒値が8桁以下の場合、exportXML時に誤った時刻を 出力してしまう障害を修正。 [BC000246] Float型のカラムまたはDouble型のカラムに対してgetBigDecimal()を行うと 誤差を含む値を返す障害を修正。 [BC000253] HSQLDBのBoolean型のカラムを取得できない障害を修正。 [BC000254] 計算式内で " の対応が取れていないときに、IndexOutOfBoundsExceptionが発生 する障害を修正。 [BW000257] HTMLDataViewのBody内にHTMLExpressionなどを配置し、表示条件にHTMLDataViewの DefaultDataを含めたときに表示条件が正しく評価されない障害を修正。 [BC000260] DataTableを使用しないSmartDBActionをインスタンス化できない障害を修正。 [BC000271] DataMap.copyFrom()メソッドで、DataFieldのRegexp,Validatorプロパティがコピー されない障害を修正。 ■Ver 3.0_004 (2005/04/28)  ●以下の新機能を追加 [AW000238] Webブラウザで指定されたLocaleをWebObjectContainerで保持する機能を追加  ●以下の仕様変更・改善を実施 【重要:CC000237】TextTableでCSVまたは固定長ファイル出力時に、SortFields,SortOrders プロパティを考慮してソートを行った後、ファイル出力するよう変更 [CC000233] バージョン番号をリソースファイルから読み込むよう変更 [CW000231] ResouceType=DATA_FIELD_VALUE以外でもLinkType=SELECTION時に 行選択用リンクを表示するよう変更 [CW000232] 選択リスト,ラジオボタンについて下記の仕様変更を実施 - SelectValues,SelectOptionsが未設定の場合にエラーに せずに警告メッセージを出し、何も表示しないよう変更 (ただし、Previewモードの場合はダミーデータを表示) - SelectValuesがnullでSelectOptionsの要素数が1のとき エラーにせずにSelectValuesを""として出力するよう変更 - SelectOptionsがnullでSelectValuesの要素数が1のとき エラーにせずにSelectOptionsを""として出力するよう変更 [CW000236] LinkURLが""でもタグを出力するよう変更  ●以下の障害を修正 [BW000234] JavaScript:getDataElementでrowIndex=0の場合に、Elementを取得 できない障害を修正 ■Ver 3.0_003 (2005/04/22)  ●以下の仕様変更・改善を実施 【重要:CW000229】getDefaultJspCallpageFormでJSPを表示する場合は、シーケンス番号を カウントアップしないよう変更 (カウントアップしたい場合は、SmartWebObjectを作成する。) [CW000227] SmartServletの内部の変数名enumをenumerationに変更 [CW000228] SmartDownloaderクラスのprintDownloadDataでExceptionをスローできるよう変更  ●以下の障害を修正 [BW000230] データが1行もないときにResourceType=DATA_FIELD_CAPTIONのHTMLLabelが 表示されない障害を修正 ■Ver 3.0_002 (2005/04/15)  ●以下の仕様変更・改善を実施 【重要:CC000226】 ValueCacheにSortFields,SortOrdersを含まないよう仕様変更 [CC000218] DataUtil.parseObjectでフォーマットパターンが指定されている場合は、 SHORTのFieldでShortのオブジェクトを返却するよう変更(変更前はLong)。 (BYTE,INT,FLOATも同様) [CC000225] AD.xmlのPropertyタグに未知の属性があった場合、警告ログを出力するよう変更。 [CW000222] HTMLButtonなどのAttributeを設定した場合に余計な空白が出ないよう改善。  ●以下の障害を修正 [BC000223] TableRelationで親の行のIntenalRecord.StatusがDELETEDのときに setEnabled(true)にしても子の行が削除されない。 親の行に対応する子の行が2行以上ある場合に、親の行を削除した後、 setEnabled(true)すると削除されずに残る場合がある。 [BW000219] HTMLImageのLinkType=Actionの場合にLinkTargetを指定しても有効とならない。 [BW000220] HTMLLabelのLinkType=Actionの場合に、onclickイベントとLinkTargetを設定 するとLinkTargetが無視されてしまう。 [BW000221] HTMLLabelなどのLinkEventに"disabled"などxx=yyの形になっていない文字列を 末尾に設定すると無視されてしまう。 [BW000224] HTMLImageでLinkType=SELECTIONにし、EventHandlerを定義した場合に EventHandler部が2回HTMLとして出力される。 ■Ver 3.0_000 (2005/04/11)  ●以下の新機能を追加 [AC000159] DataTable内のDataFieldに設定する計算式で他のDataMap,DataTableを参照できるよう機能拡張。 [AW000153] HTMLDataViewにAutoActivateDataプロパティを追加。 ■Ver 2.1_001b1 (2005/03/14)  ●以下の新機能を追加 【重要:AC000017】DataContainerクラスをNJAdaptorとして使用できるよう機能追加。 【重要:AC000131】DataContainerクラスおよびその継承クラスにDBActionConnector, JDBCAdaptorを保持できる機能を追加。 DBActionTableにDBActionConnectorをAD.xmlにて設定する機能を追加。 SQLTable, UpdateSQLにJDBCAdaptorをAD.xmlにて設定する機能を追加。 【重要:AC000115】計算式でDataTableの現在行以外を参照できるよう機能追加。 【重要:AC000119】TableRelationを考慮してINSERT,DELETEの順を自動制御する機能を追加。 【重要:AC000060】HttpDBActionConnectorクラスを追加(Httpを使って他Servlet経由でデータ取得,更新が可能)。 【重要:AC000090】データ更新時のINSERT,UPDATE,DELETE文を指定できる機能を追加。 【重要:AC000069】XMLとの入出力をサポートしたDataMap用のUtilクラスを新規作成。 【重要:AC000086】DataFieldにDBColumnNameプロパティを追加(DataTableのDataField名にデータベースの カラム名と異なる名前を設定可能にした)。 【重要:AW000008】HTMLDataViewにTableを使用せず座標指定によるレイアウト設計機能を追加。 【重要:AW000023】HTMLFieldでスタイルの指定をできるようにした。 【重要:AW000125】HTMLFieldにEventHandlerプロパティを追加。 HyperLinkを持てるHTMLFieldにはLinkEventプロパティを追加。 【重要:AW000136】HTMLSelectionListにNullOptionStringプロパティを追加。 【重要:AW000058】SmartWebObjectにLifeSpanプロパティを追加(生存期間の指定を可能にした)。 【重要:AW000101】Previewモードを追加。 【重要:AW000005】WebObjectContainerにSecureモードを追加(リクエストパラメタ値の改ざん防止用)。 【重要:AW000006】SmartWebObjectのRoleによる権限チェック機能を追加。 【重要:AW000103】SmartWebObjectにPermitClientWebObjectsプロパティを追加。 ■Ver 2.0 (2004/10/01)  正式版リリース ■Ver.1.95 beta (2004/09/01) ・2004/08/09 http://www.tenartni.com/よりNinja-VA Frameworkの一部公開開始 ・2004/06/28 サンフランシスコ(U.S.)で開催された[JavaOne]に参考出展 ※修正履歴中の[BW000000]は、 1文字目 = B:Debug, A:Add Function, C:Change Specification 2文字目 = C:Core, W:Web, D:Document, S:Sample 番号 = 通し番号 としています。