PORT4 > Pasta
 

Action

概要

Actionはページ生成と並行する必然性がない処理を行います。 主な目的は、スクリーン上のデータの加工、データベースの更新です。

作成方法

Action インターフェイスを実装したクラスを作成します。 あるいは、 AbstractAction を継承します。

リファレンス

default-to

key s
パイプkeyが空であれば、文字列sを設定します。

expand

key1 key2
パイプkey1から値を取り出し、コレクションか配列であればパイプkey2に全ての要素を展開します。

push

commit-messages

このActionの使用例、しくみについてはエラー処理とメッセージを参照してください。

引数なし
メッセージをコミットし、次のページへ1回だけ引き継ぎます。
'true'|'false'
メッセージをコミットします。 引数がtrueの場合は次のページに1回だけ引継ぎますが、falseの場合はそのページ限りとなります。

reverse

key
パイプkeyの値を全て取り出し、逆順に追加します。

forward

uri
現在のリクエストをuriに転送します。 uriを'/'で開始する場合は、コンテキストからの絶対パスとなり、そうでない場合は相対パスです。

redirect

uri
uriにリダイレクトするよう、クライアントに送ります。

use-attribute

scopeは'request'|'session'|'application'で表されるスコープで、 それぞれSunのサーブレット仕様のリクエスト、セッション、アプリケーションスコープに対応します。

name
name scopeでスコープに'request'を使用するのと同じ意味になります。
name scope
name scope keyでkeyにnameお同じ値を渡すのと同じ意味になります。
name scope key
名前keyのパイプに値が存在する場合はパイプの値を指定されたスコープの名前nameの属性に設定します。 名前keyのパイプに値が存在せず、指定されたスコープに名前nameの属性が存在すれば、名前keyのパイプに追加します。 いずれでもない場合は、何もしません。

remove-attribute

scopeは'request'|'session'|'application'で表されるスコープで、 それぞれSunのサーブレット仕様のリクエスト、セッション、アプリケーションスコープに対応します。

name
リクエストスコープの名前nameの属性を削除します。
name scope
指定されたスコープの名前nameの属性を削除します。

load-form

scopeは'request'|'session'|'application'で表されるスコープで、 それぞれSunのサーブレット仕様のリクエスト、セッション、アプリケーションスコープに対応します。

このActionの使用例、しくみについてはHTMLフォームを参照してください。

type
type scapeでスコープに'request'を使用するのと同じ意味になります。
type scope
type scope keyでkeyにtypeと同じ文字列を使用するのと同じ意味になります。
type scope key
type scope key prefixでprefixにkeyと同じ文字列を使用するのと同じ意味になります。
type scope key prefix
type scope key prefix 'validate'|'no-validation'で最後の引数を'validation'とするのと同じ意味になります。
type scope key prefix 'validate'|'no-validation'
名前keyのパイプにフォームが存在する場合はパイプの値を指定されたスコープの名前keyの属性に設定します。 名前keyのパイプにフォームが存在せず、指定されたスコープに名前keyの属性にフォームが存在すれば、名前keyのパイプに追加します。 いずれでもない場合は、typeで指定されるフォームが作成され、指定されたスコープの名前keyの属性と、名前keyのパイプに追加されます。
その後、フォームに保持されている全てのパラメータについて、 パラメータ名の先頭にprefix+'.'という文字列を付けた名前のパイプに値を追加します。 最後の引数が'validate'であればバリデーションを行い、'no-validation'であればバリデーションをしません。

save-form

scopeは'request'|'session'|'application'で表されるスコープで、 それぞれSunのサーブレット仕様のリクエスト、セッション、アプリケーションスコープに対応します。

このActionの使用例、しくみについてはHTMLフォームを参照してください。

type
type scapeでスコープに'request'を使用するのと同じ意味になります。
type scope
type scope keyでkeyにtypeと同じ文字列を使用するのと同じ意味になります。
type scope key
type scope key 'marshal'|'no-marshal'で最後の引数を'marshal'とするのと同じ意味になります。
type scope key 'marshal'|'no-marshal'
type scope key 'marshal'|'no-marshal' 'validate'|'no-validation'で最後の引数を'validate'とするのと同じ意味になります。
type scope key 'marshal'|'no-marshal' 'validate'|'no-validation'
名前keyのパイプにフォームが存在する場合はパイプの値を指定されたスコープの名前keyの属性に設定します。 名前keyのパイプにフォームが存在せず、指定されたスコープに名前keyの属性にフォームが存在すれば、名前keyのパイプに追加します。 いずれでもない場合は、typeで指定されるフォームが作成され、指定されたスコープの名前keyの属性と、名前keyのパイプに追加されます。
その後、現在のページに渡されたリクエストパラメータをフォームに格納します。 最後から2番目の引数が'marshal'の場合は正規化を行い、'no-marshal'であれば正規化を行いません。 最後の引数が'validate'であればバリデーションを行い、'no-validation'であればバリデーションをしません。