EZServlet 2001.3.15 に追加された新機能 【注意事項】-------------------- com.ngMAT.HTML.ezscustomtag.ParameterEnumeration com.ngMAT.HTML.ezscustomtag.ParameterToHidden において、パラメタ名、値共にフィルタ処理対象になりました。 -------------------- 修正されたバグ com.ngMAT.servlet.EZServletContext attributeのdump時に値が出力されない。 com.ngMAT.HTML.HTMLTemplate setTagValue(String,boolean)で#decodeが反映されない。 join=true されたネストタグ内のテンプレートにString以外の値をsetTagValue,addTagValue,addTagValueDirectしても子テンプレートに反映されない。 -------------------- 追加された機能 com.ngMAT.Common.CoolProperties 新規マクロ#groupcopy, #eofを追加。 対応システムプロパティキーの綴り誤りを修正(元の誤ったキーも有効) CoolProperites.CRLFMARK → CoolProperties.CRLFMARK CoolProperites.GP_DEFAULT_CACHE_SIZE → CoolProperties.GP_DEFAULT_CACHE_SIZE 新規メソッド:getPropertiesForMe 数値系の値取得メソッドにおいて、元の文字に","が含まれている場合に除去してから変換するようにした com.ngMAT.Common.DBOAdapter 新規メソッド:getDBTimeString com.ngMAT.Common.DeadlockFoundException 新規クラス com.ngMAT.Common.KeyValuePackage 新規メソッド:static parse com.ngMAT.Common.ngmObject 新規メソッド:getPropertiesForMe com.ngMAT.Common.Number36 新規定数:MIXED com.ngMAT.Common.DSV java.math.BigDecimal関連メソッド追加 com.ngMAT.Common.DSVGenerator com.ngMAT.Common.DBOSQLServerAdapter 新規クラス com.ngMAT.Common.Log システムプロパティcom.ngMAT.Common.Log.Timezoneで、ログ行に出力するタイムスタンプのタイムゾーンを指定可能とした システムプロパティcom.ngMAT.Common.Log.AddThreadNameで、ログ行にスレッド名を出力することを指定可能とした システムプロパティcom.ngMAT.Common.Log.Nodename.Clipでログに出力するFQDNノード名から左端のみを採用するようにした 新規メソッド:addStackTraceListener com.ngMAT.Common.LogStackTraceListener 新規インタフェース com.ngMAT.Common.StandardMySQLHealthChecker 新規クラス com.ngMAT.Common.StackTraceHandler 新規メソッド:getThrownAt com.ngMAT.Common.StringConverter 新規メソッド:convertHiraganaToKatakana、convertHiraganaToHankakuKatakana、convertKatakanaTsuYaYuYoToUpperCase com.ngMAT.Common.StringUtil 新規メソッド:right、parseBytesExpression com.ngMAT.HTML.AdHocDecoder 新規クラス com.ngMAT.HTML.ContentTypeProvider, TextContent 新規インタフェース。関連:JsonString, PlainText, XMLString com.ngMAT.HTML.InsertionTag 新規属性elements_limit, #nof, #value_sw, #maskを追加。 新規メソッドisSelfClosing、getElementSeparator、setElementSeparatorを追加。 com.ngMAT.HTML.HTMLTemplate 新規プロパティ:HTMLTemplate.SSI.Enabledを追加。trueにすると、形式のinclude指定が可能。ただし、includeの属性として指定できるのは、HTMLTemplateの#includeタグと同じもののみ。 [[#decoder name="..."]]....[[/#decoder]]で#decodeなどで利用できるその場限りのコードテーブルを定義可能とした 新規メソッド:setTagValuesWithPublicFields, setTagValuesWithPublicGetterMethods 新規メソッド:getAdHocDecoder 新規メソッド:protected initWithString(EZServletContext,String) 新規メソッド:setTagValue(Object,Field) 日付値フォーマットに使用するタイムゾーンを指定可能とした com.ngMAT.HTML.GroupedHTMLComponent, com.ngMAT.HTML.form.GroupedCheckbox, GroupedRadio CSSクラスを指定可能とした プロパティから見た目の設定を読み込み可能とした com.ngMAT.HTML.Link 新規クラス com.ngMAT.HTML.RepeatableElement, ParsedTable 属性use_element_number、element_number_baseを新規追加。これらを利用して要素に自動的に番号を出力可能。 com.ngMAT.HTML.JsonHandler, JsonComponent 新規クラス com.ngMAT.Mail.HTMLMailMessage 新規クラス com.ngMAT.HTML.ezscustomtag.NumberSelect type="year"を指定可能とした。 order="desc"で降順表示を指定可能とした。 com.ngMAT.HTML.ezscustomtag.Parameter InsertionTagのdecode設定に対応 新規属性param_nameで直に対象パラメタ名を指定可能とした。デフォルトはnameと同じ値。 com.ngMAT.HTML.ezscustomtag.PSessionID2 新規クラス com.ngMAT.HTML.form.Option 新規メソッド:isSelected, setDisabled com.ngMAT.HTML.form.Select 新規メソッド:setReadonly com.ngMAT.Mail.SimpleMailMessage プロパティ Mail.Senderで実際の送信処理の実装を指定可能とした。 プロパティ Mail.SMTPServerTypeでサーバタイプを指定可能とした。 プロパティ Mail.AdjustForCP932=false を設定することでCP932非対応文字を対応文字に変換する処理を行わないようにした。 com.ngMAT.Mail.SimpleFileAttachedMailMessage 新規メソッド:addFileContent(String, byte[]), addFileContent(DataSource), addFileContentWithCID(String, String), addFileContentWithCID(String, String, byte[]) com.ngMAT.Mail 新規クラスSender, ResponseRecordingSMTPSender com.ngMAT.Mail.MessageIDGenerator, SimpleMessageIDGenerator SimpleMailMessageによりメール送信する際のメッセージIDをカスタマイズ可能とした com.ngMAT.net.HttpCommunicator HTTPレスポンスコードを取得可能とした プロパティHttpCommunicator.Header.Set.でヘッダ値を設定可能とした TextContent(JsonString/XMLString/PlainText)をリクエストボディとしてセットできるようにした。(setRequesetBody) レスポンステキストのエンコーディングが指定されていない場合、レスポンスヘッダContent-Typeから取得を試みるようにした。 エラーが返された場合でもそのレスポンスボディの値を取得できるようにした。 エラーレスポンスのエンコーディングを個別に設定可能とした。 新規メソッドsetBasicAuthHeader、doPostMultipart、getErrorResultString、getErrorResultBytes、getErrorResultBytesAsString、addParamFile(String, String, String, File)、addParamFile(String, String, String, byte[]),setErrorContentEncodingType,getErrorContentEncodingType com.ngMAT.servlet.EZServletConfig 新規プロパティ:EZServlet.Forward.HandIver.NewCookies でforwad時にforward前にセットされたクッキーを引き継げるようにした。 com.ngMAT.servlet.EZServletContext private sessionに保持される値についてHttpSessionBindingEventを疑似的に連携するようにした。 completeURLにて、スキームの判定をポート番号ではなくisRequestOnSecureChannel()の結果で行うようにした。 新規メソッド:getRequiredParameter, getRequiredRawParameter, getAcceptLanguages, getAcceptLanguagesAsList,getRequestBodyAsString、setDeleteFileResourceAfterProcess, getDeleteFileResourceAfterProcess, setLastModifiedHeader, getIfModifiedSinceHeaderValue, sendNotModifiedを追加 com.ngMAT.servlet.MultiPartContentHandler 新規メソッド:deleteFilesを追加 プロパティFile.MaxSizeでKB、MBなどの単位を使用できるようにした。 ファイルサイズ超過例外が発生した際、ストリームの最後までスキップするようにした。(プロパティ"EZServlet.MultiPart.ContentHandler.SkipToEndOnAcceptError"をfalseにすることでスキップしない) com.ngMAT.servlet.ParameterMissingException 新規クラス com.ngMAT.tools.HttpAliveChecker 新規クラス com.ngMAT.tools.ClassUtil 新規クラス com.ngMAT.tools.FileUtil 新規メソッド:divideを追加(FileUtil.mainから利用可能)、saveを追加 com.ngMAT.tools.SimpleFilenameFilterFactory 新規クラス com.ngMAT.tools.TextFileLoader 新規メソッド:headを追加。 com.ngMAT.tools.ZipTool 新規メソッド:newZipOutputStream、zip(File, File, ArrayList), addLogicalDirectoryEntryを追加 publicに変更:zip (ZipOutputStream, File)、zip (ZipOutputStream, String, File)、zip (ZipOutputStream, File, ZipEntry) unzipで展開したエントリ情報のリストを返すようにした。