(クラス)
public HttpForm
{inherits
Dialog}
Web サーバー上で CGI プログラムと対話できる特定の Dialog を作成します。
説明
HttpForm は通常のコンテンツ、リンク、コントロール、ラベルを含むドキュメントの 1 セクションです。ユーザーはフォームのコントロールを修正してフォームに「記入」してから、処理を行うエージェント (Web サーバー、メール サーバーなど) にフォームを発行します。
HttpForm の機能は HTML の
<FORM> タグに似ています。
HttpForm はネストできますが、所定の
HttpForm の 1 つ内側のコントロールは任意の要求で発行されます。
フォームに非表示のコントロールを指定するには、通常の任意のコントロール (
TextField など) を使用して幅と高さを 0pt に設定するか、
Graphic.visible? プロパティを false に設定します。(幅または高さがゼロ以外の場合、非表示のコントロールが画面を占有していることに注意してください。)
注意事項
このオブジェクトは、"HttpForm"のスタイル ルールを記述することによってスタイル化されます。
コンストラクタ public | {HttpForm.default} |
フィールド public HttpForm.default-character-encoding:
CharEncoding
フィールド public HttpForm.encoding:
String
フィールド public HttpForm.form-action:
Url
アクセサ public HttpForm.style-element:
String
フィールド public HttpForm.target:
String ="_self"
プロパティ 継承 Visual:
_style-element, cursor, data-source, dragee, font-size, graphical-parent, has-key-focus?, input-method-enabled?, input-method-keyboard-mode, name, options, style-class, style-manager, style-options, test-child?, test-description, test-name, test-parent?, test-type-name, test-visible?, tooltip, user-data プロパティ 継承 Graphic:
avoid-page-break?, background, border-color, border-spec, border-style, border-width, cell-border-spec, cell-border-width, cell-margin, discrete-select-in-range?, display-context, enabled?, graphic-selectable, height, horigin, is-paginating?, layout, margin, opaque-to-events?, option-parent, outside-margin, pagination-state, parent, possibly-displayed?, selection-context, shadow-color, shadow-spec, visible?, visual-parent, vorigin, width
public | {HttpForm.add-file}:void |
public | {HttpForm.add-file-data}:void |
public | {HttpForm.async-submit-open submit-name:#String = null,submit-value:#String = null,character-encoding:CharEncoding = CharEncoding.none-specified,buffer-size:int = {calculate-instances-per-memory-size
default-buffer-memory-size, char
},unread-size:int = {min 4, buffer-size div 4},request-headers:#HttpRequestHeaders = null,auto-redirect?:bool = true,always-return-response-headers?:bool = false,event-handler:EventHandler,...:EventHandler }:AsyncFileOpener |
public | {HttpForm.async-submit-open-byte submit-name:#String = null,submit-value:#String = null,buffer-size:int = {calculate-instances-per-memory-size
default-buffer-memory-size, byte
},unread-size:int = {min 4, buffer-size div 4},request-headers:#HttpRequestHeaders = null,auto-redirect?:bool = true,always-return-response-headers?:bool = false,event-handler:EventHandler,...:EventHandler }:AsyncFileOpener |
public | {HttpForm.non-keyword-init-arg a:any}:void |
public | {HttpForm.reset}:void |
public | {HttpForm.reset-all}:void |
public | {HttpForm.submit}:void |
public | {HttpForm.submit-open submit-name:#String = null,submit-value:#String = null,character-encoding:CharEncoding = CharEncoding.none-specified,buffer-size:int = {calculate-instances-per-memory-size
default-buffer-memory-size, char
},unread-size:int = {min 4, buffer-size div 4},request-headers:#HttpRequestHeaders = null,auto-redirect?:bool = true,always-return-response-headers?:bool = false }:HttpTextInputStream |
public | {HttpForm.submit-open-byte submit-name:#String = null,submit-value:#String = null,buffer-size:int = {calculate-instances-per-memory-size
default-buffer-memory-size, byte
},unread-size:int = {min 4, buffer-size div 4},request-headers:#HttpRequestHeaders = null,auto-redirect?:bool = true,always-return-response-headers?:bool = false }:HttpByteInputStream |
メソッド 継承 StandardActiveTraversalContainer:
add-internal, become-active, become-active-from-traversal, dispatch-mnemonic, get-sorted-traversors, internal-remove-child, on-key-press, react-to-child-change, register-active-traversor, traverse, traverse-from-visual, unregister-active-traversor メソッド 継承 GuiEventTarget:
handle-delegate-event, handle-event, on-action, on-cancel-mode, on-command-changed, on-commit, on-composition-change-event, on-composition-result-event, on-context-menu-event, on-current-record-change-request, on-current-record-changed, on-destroy-notify, on-destroy-requested, on-drag-over, on-drag-pointer, on-drag-started, on-drop, on-end-composition-event, on-focus-event, on-focus-out, on-gesture, on-gesture-begin, on-gesture-end, on-gesture-magnify, on-gesture-pan, on-gesture-rotate, on-gesture-swipe, on-gesture-tap, on-gesture-touch, on-grab-release, on-gui-event, on-input-method-event, on-key-event, on-pointer-button, on-pointer-crossing, on-pointer-event, on-pointer-motion, on-pointer-press, on-pointer-release, on-pointer-scroll, on-raw-key-event, on-raw-key-press, on-raw-key-release, on-reset, on-selectable-added, on-selectable-removed, on-selection-changed, on-selection-context-activated, on-selection-context-deactivated, on-selection-event, on-start-composition-event, on-start-event, on-stop-event, on-view-activate, on-view-deactivate, on-window-close, remove-event-handlers-for-event-class メソッド 継承 BaseFrame:
after-reposition, allocate-layout-object, attempt-revalidate-layout, before-reposition, compute-child-bounds, compute-parent-elastic, constrain-height, constrain-width, draw, end-pagination, get-height-preference, get-text, get-width-preference, install-child-bounds, note-attached, note-detaching, notify-option-children, paginate, pick-child, propagate-request-layout, register-options, set-size メソッド 継承 Visual:
add-from-init-args, animate, change-cursor, clonable-appearance?, clone-appearance, get-focus-manager, get-layout-context, get-test-parent, get-test-property, get-view, maybe-fire-attach-event, maybe-fire-detach-event, note-caret-position, on-drag-leave, on-pointer-leave, pop-cursor, prepare-test-object, prepare-test-parent, push-cursor, quantize-width, refresh-style-options, release-key-focus, scroll-to-include, test-record, test-run, transform-from-display-coordinates, transform-from-graphical-root-coordinates, transform-to-display-coordinates, transform-to-graphical-root-coordinates メソッド 継承 OptionListInterface:
add-option, add-style-option, change-option-parent-notify, clone-options, get-option, get-option-by-name, keyword-init-arg, local-add-notify, local-remove-notify, name-to-option-key, new-option-item, option-change-notify, option-lookup, option-set?, propagate-option-change, remove-option, remove-style-option, remove-styles, set-option-by-name, set-style-option-by-name, unset-option-by-name, unset-style-option-by-name メソッド 継承 Box:
clear, compare-children, find-test-children, get-delimited-child-text-selection, get-gui-path-to-child, get-range-as-selected-text, get-visible-rect-in-root-into, graphical-child-visible-at, make-gui-mark, search-next-here, search-prev-here メソッド 継承 Graphic:
create-pagination-state, detach, draw-range-as-selected, draw-shadow, find-ancestor, find-graphical-ancestor, fire-inferior-crossing-event, get-graphical-root, get-gui-path, get-origin-in-graphical-ancestor, get-origin-in-root, get-pagination-state, get-top-left-in-ancestor, get-visible-bounds-into, on-drag-enter, on-inspection, on-pointer-enter, option-changed, paint-with-decorations, replace-with, request-draw, request-draw-rect, request-pointer-trace, search-next, search-prev, set-layout, start-pagination, xy-offset-to
(コンストラクタ)
public | {HttpForm.default} |
HttpForm オブジェクトを作成します。
form-action: HTTP 要求の URL。これは位置引数です。
method: 使用する
HttpRequestMethod。有効な値は
HttpRequestMethod.get と
HttpRequestMethod.post です。
説明
HttpForm は、次の条件を満たす場合、内部の各コントロールの値を発行します。
コントロールのフォームが発行された場合に返される内容を確認する場合は、コントロールの
form-value ゲッターのドキュメントを参照してください。例については
ListBox.form-value を参照してください。
(フィールド)
String パラメータに使用する既定の文字エンコード。また MIME 関連のヘッダーとセパレータ文字列をバイトに変換する際に使用する文字エンコードを指定します。
説明
(フィールド)
public HttpForm.encoding:
String サーバーに送信される要求のエンコード タイプ。
説明
注意事項
HttpFormData.urlencoded-mime-type は GET メソッドと POST メソッドをいずれもサポートします。
HttpFormData.multipart-mime-type は POST メソッドのみをサポートします。
HttpForm.add-file または
HttpForm.add-file-data を呼び出して
HttpForm にデータを追加する場合、フォームを複数パートのフォーマットで発行しなければなりません。この場合、唯一の有効なエンコードは
HttpFormData.multipart-mime-type です。
(フィールド)
public HttpForm.form-action:
Url
(アクセサ)
使用する HttpRequestMethod。
説明
有効値は次のとおりです。
- HttpRequestMethod.get
HttpRequestMethod.get を使用して送信されたフォーム値は、URL の一部として送信されます。この情報はクエリ ストリングと呼ばれ、URL の疑問符の後に追加されます。 - HttpRequestMethod.post
HttpRequestMethod.post を使用して送信されるフォーム値は、HTTP 要求のボディとして送信されます。
(アクセサ)
アクセサ public HttpForm.style-element:
String スタイリングの目的のための、この Visual の "要素" や "型" です。
説明
オーバーライド
Visual のサブクラスのスタイルが他のオブジェクトと異なる場合、このゲッターは適切な文字列を返すようにオーバーライドされる必要があります。 慣例では,この文字列はクラス名または、オブジェクトを生成するマークアップの名前です。
オーバーライドでは、空の文字列でないかぎり、self._style-elementを返さなければなりません。
導入:
バージョン 6.0
(フィールド)
public HttpForm.target:
String ="_self"
(メソッド)
public | {HttpForm.add-file}:void |
この HttpForm で発行されるファイルを追加します。
name: (サーバーが使用する) パラメータ名。
url: 追加されるファイルのパス。ファイルのコンテンツがアプレットによって読み出される間は、有効な任意の
Url が許可されます。
この URL のファイル名部分は、
filename として MIME ヘッダーに追加されます。
この URL には ASCII 文字のみが使用できます。または RFC 2045 に従って括る必要があります。
添付するファイルをユーザーに選択してもらう場合は、
choose-file または
choose-location を使用します。
content-type: クライアントがコンテンツのタイプを判断し、適切な MIME タイプの文字列を指定するのが理想的です。これが不可能な場合、「application/octet-stream」を使用します。サーバーまたは最終的な受領者はファイル名とファイルのデータ、またはそのいずれかから MIME タイプの類推を試みることができます。
説明
新しいファイル パラメータとして発行されるデータに、指定されたファイルが追加されます。複数のファイルを追加する場合は、そのつど、このメソッドを呼び出します。同じパラメータ名を持つファイル パラメータはすべて、一緒にサーバーに送られます。
注意事項
(メソッド)
public | {HttpForm.add-file-data}:void |
この HttpForm で発行される任意のデータを追加します。
name: サーバーが使用する パラメータ名。
data: フォームに追加されるデータ。
content-type: クライアントがコンテンツのタイプを判断し、適切な MIME タイプの文字列を指定するのが理想的です。これが不可能な場合、「application/octet-stream」を使用します。サーバーまたは最終的な受領者はファイル名とファイルのデータ、またはそのいずれかから MIME タイプの類推を試みることができます。
filename: MIME タイプが非 null の場合、ファイル名のヘッダーが追加され、その名前を指定します。
この文字列には ASCII 文字のみが使用できます。それ以外の文字が含まれている場合、RFC 2045 に従って括る必要があります。
content-transfer-encoding: これは、追加予定のファイルに使用される Content-Transfer-Encoding のヘッダー値です。null には content-transfer-encoding ヘッダーの意味がありません。アプレットが送信されるデータをエンコードしている場合、エンコードの説明にこの引数が使用されます。
説明
新しい「パート」として発行されるデータに、指定されたデータが追加されます。複数のデータ パートを追加する場合は、そのつど、このメソッドを呼び出します。
注意事項
(メソッド)
送信する name と value のペアをこの HttpForm とともに追加します。
name: サーバーが使用する パラメータ名。
value: name に対応してフォームに追加される値。
説明
新しいパラメータとして送信されるデータに、指定された名前と値のペアが追加されます。名前と値のペアを 1 つ以上追加する場合は、そのつどこのメソッドを呼び出します。
注意事項
(メソッド)
public | {HttpForm.async-submit-open submit-name:#String = null,submit-value:#String = null,character-encoding:CharEncoding = CharEncoding.none-specified,buffer-size:int = {calculate-instances-per-memory-size
default-buffer-memory-size, char
},unread-size:int = {min 4, buffer-size div 4},request-headers:#HttpRequestHeaders = null,auto-redirect?:bool = true,always-return-response-headers?:bool = false,event-handler:EventHandler,...:EventHandler }:AsyncFileOpener |
テキスト入力用の HttpForm を非同期に送信し、例外または開かれた HttpTextInputStream を含む AsyncFileOpenEvent で指定されたイベント ハンドラを呼び出します。
submit-name, submit-value: submit-name と submit-value が非 null の場合、名前/値のペアがこのフォームで発行されます。名前と値は、いずれも発行される前に URL エンコードされます。
character-encoding: ファイルの読み込み時に使用する文字エンコーディング。
CharEncoding を参照してください。指定されていない場合、
HttpHeaders.content-type に HTTP "charset" パラメータが存在すればそれが使用されます。存在しない場合、可能であれば文字エンコーディングはストリームの最初の数バイトから判断されます。このような解釈ができない場合は、既定の
CharEncoding.utf8 文字エンコーディングが使用されます。
buffer-size: バッファに格納される char の最小数。buffer-size と unread-size がどちらも 0 の場合、アンバッファ ストリームの作成が可能であればこれを行います。
unread-size: 効果的に読み取り不可能な char の最小数。buffer-size と unread-size がどちらも 0 の場合、アンバッファ ストリームの作成が可能であればこれを行います。
request-headers: リクエストと共に送信されるヘッダー。
auto-redirect?: true の場合、リクエストは応答のステータスによって自動的にリダイレクトされます。
always-return-response-headers?: 応答ヘッダーのステータスが status-ok でない場合に既定の動作をオーバーライドします。例外を発生させる代わりに、応答ヘッダーにアクセスできるストリームを返します。バージョン 1.7 以降は、返されるストリームにより、応答ヘッダーだけでなく応答の本文にもアクセスできます。したがって、呼び出し側は終了時に
HttpTextInputStream.close を呼び出して、接続に関連付けられたリソースを解放する必要があります。
戻り値
注意事項
(メソッド)
public | {HttpForm.async-submit-open-byte submit-name:#String = null,submit-value:#String = null,buffer-size:int = {calculate-instances-per-memory-size
default-buffer-memory-size, byte
},unread-size:int = {min 4, buffer-size div 4},request-headers:#HttpRequestHeaders = null,auto-redirect?:bool = true,always-return-response-headers?:bool = false,event-handler:EventHandler,...:EventHandler }:AsyncFileOpener |
バイト入力用の HttpForm を非同期に送信し、例外または開かれた HttpByteInputStream を含む AsyncFileOpenEvent で指定されたイベント ハンドラを呼び出します。
submit-name, submit-value: submit-name と submit-value が非 null の場合、名前/値のペアがこのフォームで発行されます。名前と値は、いずれも発行される前に URL エンコードされます。
buffer-size: バッファに格納される
char の最小数。
buffer-size と
unread-size が両方とも
0 の場合は、できるかぎりバッファリングしないストリームの作成を試みます。どちらかが
0 でない場合、
BufferedByteInputStream が返されます。
unread-size: 効率よく読み取ることができない
char の最小数。
buffer-size と
unread-size が両方とも
0 の場合は、できるかぎりバッファリングしないストリームの作成を試みます。どちらかが
0 でない場合、
BufferedByteInputStream が返されます。
request-headers: リクエストと共に送信されるヘッダー。
auto-redirect?: true の場合、リクエストは応答のステータスによって自動的にリダイレクトされます。
always-return-response-headers?: 応答ヘッダー内のステータスが status-ok でない場合に既定の動作をオーバーライドします。例外を発生させる代わりに、応答ヘッダーにアクセスできるストリームを返します。バージョン 1.7 以降は、返されるストリームにより、応答ヘッダーだけでなく応答の本文にもアクセスできます。したがって、呼び出し側は終了時に
HttpByteInputStream.close を呼び出して、接続に関連付けられたリソースを解放する必要があります。
戻り値
注意事項
(メソッド)
public | {HttpForm.non-keyword-init-arg a:any}:void |
InitRestArgParser.process-rest-args で非キーワード引数が検出されると、呼び出されます。
説明
Visual によるこのメソッドの実装では、最初にこのメソッドへの入力値をオブジェクトに関連するメタデータとして解釈を試みます。たとえば、オブジェクトに関連する
EventHandler と
DataBinding を認識してから、これらをアタッチするための適切な手順を実行することになります。
オーバーライド
オブジェクトに関連付けられた追加のメタデータも受け入れるようにするには、このメソッドをオーバーライドします。実装では通常、解釈に失敗した入力値でスーパー実装が呼び出されるようにします。
(メソッド)
(メソッド)
public | {HttpForm.reset}:void |
(メソッド)
public | {HttpForm.reset-all}:void |
(メソッド)
public | {HttpForm.submit}:void |
HttpForm.form-action にフォームとブラウザを送信します。
注意事項
submit-name, submit-value: submit-name と submit-value が非 null の場合、名前/値のペアがこのフォームで発行されます。名前と値は、いずれも発行される前に URL エンコードされます。
(メソッド)
public | {HttpForm.submit-open submit-name:#String = null,submit-value:#String = null,character-encoding:CharEncoding = CharEncoding.none-specified,buffer-size:int = {calculate-instances-per-memory-size
default-buffer-memory-size, char
},unread-size:int = {min 4, buffer-size div 4},request-headers:#HttpRequestHeaders = null,auto-redirect?:bool = true,always-return-response-headers?:bool = false }:HttpTextInputStream |
HttpForm を発行し、テキスト ストリームとして応答を取得します。
submit-name, submit-value: submit-name と submit-value が非 null の場合、名前/値のペアがこのフォームで発行されます。名前と値は、いずれも発行される前に URL エンコードされます。
character-encoding: テキスト ストリームから読み込まれる時に使用する文字エンコードを指定します。
CharEncoding を参照してください。指定されなかったとき、
HttpHeaders.content-type に HTTP "charset" パラメータが存在すれば、それが使用されます。存在しない場合、文字エンコーディングは、可能であればストリームの最初の数バイトから判断されます。これが可能でない場合は、既定の文字エンコーディング
CharEncoding.windows-latin-1 が使用されます。
buffer-size: バッファに格納される char の最小数。buffer-size と unread-size がどちらも 0 の場合、アンバッファ ストリームの作成が可能であればこれを行います。
unread-size: 効果的に読み取り不可能な char の最小数。buffer-size と unread-size がどちらも 0 の場合、アンバッファ ストリームの作成が可能であればこれを行います。
request-headers: リクエストと共に送信されるヘッダー。
auto-redirect?: true の場合、リクエストは応答のステータスによって自動的にリダイレクトされます。
always-return-response-headers?: 応答ヘッダーのステータスが status-ok でない場合に既定の動作をオーバーライドします。例外を発生させる代わりに、応答ヘッダーにアクセスできるストリームを返します。バージョン 1.7 以降は、返されるストリームにより、応答ヘッダーだけでなく応答の本文にもアクセスできます。したがって、呼び出し側は終了時に
HttpTextInputStream.close を呼び出して、接続に関連付けられたリソースを解放する必要があります。
戻り値
説明
注意事項
(メソッド)
public | {HttpForm.submit-open-byte submit-name:#String = null,submit-value:#String = null,buffer-size:int = {calculate-instances-per-memory-size
default-buffer-memory-size, byte
},unread-size:int = {min 4, buffer-size div 4},request-headers:#HttpRequestHeaders = null,auto-redirect?:bool = true,always-return-response-headers?:bool = false }:HttpByteInputStream |
フォームを発行し、バイト ストリームとして応答を取得します。
submit-name, submit-value: submit-name と submit-value が非 null の場合、名前/値のペアがこのフォームで発行されます。名前と値は、いずれも発行される前に URL エンコードされます。
buffer-size: バッファに格納される
char の最小数。
buffer-size と
unread-size が両方とも
0 の場合は、できるかぎりバッファリングしないストリームの作成を試みます。どちらかが
0 でない場合、
BufferedByteInputStream が返されます。
unread-size: 効率よく読み取ることができない
char の最小数。
buffer-size と
unread-size が両方とも
0 の場合は、できるかぎりバッファリングしないストリームの作成を試みます。どちらかが
0 でない場合、
BufferedByteInputStream が返されます。
request-headers: リクエストと共に送信されるヘッダー。
auto-redirect?: true の場合、リクエストは応答のステータスによって自動的にリダイレクトされます。
always-return-response-headers?: 応答ヘッダー内のステータスが status-ok でない場合に既定の動作をオーバーライドします。例外を発生させる代わりに、応答ヘッダーにアクセスできるストリームを返します。バージョン 1.7 以降は、返されるストリームにより、応答ヘッダーだけでなく応答の本文にもアクセスできます。したがって、呼び出し側は終了時に
HttpByteInputStream.close を呼び出して、接続に関連付けられたリソースを解放する必要があります。
戻り値
説明
注意事項
(メソッド)
Control をこの ControlContainer から登録解除します。
説明
Control は、コンテナから削除されるときに、各々のコントロールコンテナ オプション ハンドラでこれを呼び出す必要があります。
c: 登録解除のコントロール。
オーバーライド
登録されたコントロールを追跡するように、これをオーバーライドします。