NaspはASPをもっとエキサイティングにするCOMライブラリです。
以下のようなことが可能です。
Naspではスクリプト(ASP)とテンプレート(HTML)を分離して作成します。
以下に簡単な例を示します。
Sample.asp
Sample.html
例に示すとおり、Naspを使えばスクリプト(ASP)とテンプレート(HTML)は完全に分離され、
スクリプト(ASP)はイベントに応える形式で記述することができます。
イベントは様々用意されており、それぞれに応じた処理を記述することでWebサイトを構築できます。
これはほんの入り口。
Naspによるエキサイティングな方のASPをぜひご堪能ください。
( Utilize from only ASP. )
Nasp的ASP処理を扱います。
Naspが発生させるイベントを受け取るオブジェクトを設定します。
複数回 AddScript された場合には、後にAddScriptされたものが優先的にイベントを受け取ります。
HTTPリクエスト時のパラメータをBagに取り込みます。
multipart/form-data での file の場合は FileName が取り込まれます。
HTTPリクエスト時のパラメータをViewに取り込みます。
multipart/form-data での file の場合は FileName が取り込まれます。
HTTPリクエスト時のパラメータをAddScriptされたオブジェクトのプロパティに取り込みます。
multipart/form-data での file の場合は FileName が取り込まれます。
(From Version:1.15.4.0)
Outputに文字列を出力します。
このAbandonを呼んだ期をもって Nasp処理 を終了します。
Abandonを呼ぶと Bag は消滅します。
IISのログに、
[sName:sValue]
の形式で書き込みます。
sNameで指定したイベントを発生させます。
イベントにはpParamを渡すことができ、イベントの戻り値はpResultで取得できます。
描画時に利用するためのメッセージを追加します。
追加されたメッセージは (#%_Message#) によって利用されます。
vMessageに数値を指定すると、(#%_Message_Text#) で用意されたメッセージの1から始まる順番で利用します。
vMessageに文字列を指定すると、(#%_Message_Text#) で vMessage が利用されます。
AddMessageによってメッセージが追加されているか否かを調べます。
vNameを省略すると名前に関係なくメッセージが追加されているか否か返します。
sTemplateをテンプレート処理します。
Nasp処理を行います。
リクエストパラメータを配列に変換します。
sCommand を元にHTTPリクエスト用のコマンド文字列を生成します。
sName を元にHTTPリクエスト用のパラメータ文字列を生成します。
ブラウザへレスポンスコード302を送ります。
ASP.Response.Redirect との違い:
○sLocationをURLエンコードしない
○Response.Endしない
(From Version:1.15.4.0)
sTemplateName を描画します。
ADODB.Commandを生成します。
テンプレート処理を別に行うためのTemplatorオブジェクトを返します。
メールを送信するためのメッセージオブジェクトを生成します。
ランダムな文字列を生成します。
GUIDを生成します。
bShort詳細:
○True :CE875870999D4663AF908BC61EECBEC0
○False:{CE875870-999D-4663-AF90-8BC61EECBEC0}
処理を nMilliseconds(ミリ秒) の間待機します。
MD5値を計算します。
SHA1値を計算します。
(From Version:1.15.4.0)
pStringsの中にpTargetsがあるか否かを調べます。
半角文字を含んだ文字列を全角文字へ変換します。
全角文字を含んだ文字列を半角文字へ変換します。
ブラウザから送信された "&#NN...N;" を含む文字列をUnicode値にデコードします。
これでデコードされた文字列をもう一度ブラウザへ返す場合はHTMLEncodeしてください。
(From Version:1.20.10.0)
sSource の前後にある空白文字を除去します。
空白文字は以下です。
sSource をHTMLエンコードします。
エンコード対象は以下です。
文字列、またはバイナリデータをBase64エンコードします。
Base64文字列をデコードし、文字列、またはバイナリデータ返します。
文字列、またはバイナリデータをURLエンコードします。
URLエンコード文字列をデコードし、文字列、またはバイナリデータ返します。
Naspのセッション処理が始まった場合に発生します。
Bag変数の初期化などを行うタイミングに適しています。
Naspのセッション処理が終わる場合に発生します。
Nasp.Abandonによって引き起こされるイベントです。
Nasp処理の直前に発生します。
戻り値にFalseを指定することでNasp処理を中止することができます。
Nasp処理の直後に発生します。
Command処理の直前に発生します。
戻り値にFalseを指定することでCommand処理を中止することができます。
Command処理の直後に発生します。
Draw処理の直前に発生します。
戻り値にFalseを指定することでDraw処理を中止することができます。
Draw処理の直後に発生します。
Command "***" の処理が必要なときに発生します。
処理が失敗した場合には戻り値にFalseを設定してください。
Template "***" の処理が必要なときに発生します。
処理が失敗した場合には戻り値にFalseを設定してください。
Template "***" の処理直前に発生します。
このイベントでNasp.Templateを変更し、戻り値をFalseに設定すると
Naspは描画処理をやり直します。
テンプレート中の描画イベント "(#%***#)" で発生します。
描画イベントに "(#%***|aaa#|#bbb#)" のように引数がある場合はvParamによって渡されます。
Templateファイルの取得に失敗した場合に発生します。
このイベントでNasp.Templateを変更し、戻り値をFalseに設定すると
Naspは描画処理をやり直します。
{;:&|*/=~+-}の値は以下に対応しています。
Bag({sName}) を元にHTMLのinput要素を描画します。
Bag({sName}) と {sValue} が等しい場合には (#%_Input_Default#) によって checked が描画されます。
View({sName}) を元にHTMLのinput要素を描画します。
View({sName}) と {sValue} が等しい場合には (#%_InputV_Default#) によって checked が描画されます。
プロパティ({sName}) を元にHTMLのinput要素を描画します。
プロパティ({sName}) と {sValue} が等しい場合には (#%_InputP_Default#) によって checked が描画されます。
(From Version:1.10.3.0)
Bag({sName}) を元にHTMLのinput要素のデフォルト値(checked,selected)を描画します。
Bag({sName}) と {sValue} が等しい場合には引数の3つ目が、等しくない場合には4つ目が描画されます。
※_Input_Defaultと違い、_Inputの外で単独で動作します。
(From Version:1.10.3.0)
View({sName}) を元にHTMLのinput要素のデフォルト値(checked,selected)を描画します。
View({sName}) と {sValue} が等しい場合には引数の3つ目が、等しくない場合には4つ目が描画されます。
※_InputV_Defaultと違い、_InputVの外で単独で動作します。
(From Version:1.10.3.0)
プロパティ({sName}) を元にHTMLのinput要素のデフォルト値(checked,selected)を描画します。
プロパティ({sName}) と {sValue} が等しい場合には引数の3つ目が、等しくない場合には4つ目が描画されます。
※_InputP_Defaultと違い、_InputPの外で単独で動作します。
(From Version:1.10.3.0)
Nasp.AddMessage によって追加されたメッセージを描画します。
Nasp.AddMessage によって数値Nが追加された場合には、
(#%_Message_Text|…#) のテンプレート引数N番目が描画されます。
Pattern 1 の場合、エリア名は""(空文字列)が利用されます。
テンプレート処理を扱います。
ファイルを読み込み、テンプレートとして処理します。
文字列をテンプレートとして処理します。
Streamに文字列を書き込みます。
Streamに溜まっている文字列を取得し、Streamを空にします。
描画 "***" が必要なときに発生するイベントです。
アップロードされたファイルを扱います。
テンプレート処理を扱います。
(From Version:1.2.1.0)
ファイルを読み込み、テンプレートとして処理します。
文字列をテンプレートとして処理します。
Streamに文字列を書き込みます。
Streamに溜まっている文字列を取得し、Streamを空にします。
TextTemplatorはテンプレート中に "(#xxx#)" が見つかると
Scriptにセットされているオブジェクトのメンバ "xxx" を呼び出します。
メンバ "xxx" はプロパティ、メソッドのどちらでもかまいません。
プロパティ、メソッドが見つからない場合、Scriptにセットされているオブジェクトをコレクションとして扱い、
キー値の取得を試みます。(From Version:1.23.10.0)
INaspedTemplatorとは違い、置換記号はありません。
便利なメソッドを提供します。
(From Version:1.2.1.0)
ランダムな文字列を生成します。
GUIDを生成します。
bShort詳細:
○True :CE875870999D4663AF908BC61EECBEC0
○False:{CE875870-999D-4663-AF90-8BC61EECBEC0}
処理を nMilliseconds(ミリ秒) の間待機します。
MD5値を計算します。
SHA1値を計算します。
(From Version:1.15.4.0)
pStringsの中にpTargetsがあるか否かを調べます。
半角文字を含んだ文字列を全角文字へ変換します。
全角文字を含んだ文字列を半角文字へ変換します。
ブラウザから送信された "&#NN...N;" を含む文字列をUnicode値にデコードします。
これでデコードされた文字列をもう一度ブラウザへ返す場合はHTMLEncodeしてください。
(From Version:1.20.10.0)
sSource の前後にある空白文字を除去します。
空白文字は以下です。
sSource をHTMLエンコードします。
エンコード対象は以下です。
文字列、またはバイナリデータをBase64エンコードします。
Base64文字列をデコードし、文字列、またはバイナリデータ返します。
文字列、またはバイナリデータをURLエンコードします。
URLエンコード文字列をデコードし、文字列、またはバイナリデータ返します。