If Nasp is used, such a thing becomes possible!
- Separation of script (ASP) and template (HTML)
- Event driven construction
- The utilization of Bag
- The design which copes with the back button of browser
- File upload
- Generating mail contents and the like from the templete
- {checked, selected} of {<input>, <select>} without time utilization
The question on Nasp etc. are accepted here.
Please write it rapidly.
Naspを使えばこのような事が可能に!
- スクリプト(ASP)とテンプレート(HTML)の分離
- イベントドリブンな構築
- Bagの利用
- ブラウザの戻るボタンに対処した設計
- ファイルアップロード
- メール文面などをテンプレートから生成
- <input>、<select>のchecked、selectedを手間なく利用
ここではNaspについての質問などを受け付けています。
どしどし書き込んでください。
fjisoae 11:48 am on 12月 28, 2007 パーマリンク
Nasp。凄く気になってダウンロードしちゃいました。
ちょうど今サイトを作ろうとしているので、是非Naspを導入したいのですが
何か簡単なサンプルとかないですか?
あったら助かるのですが・・・
yrm 4:10 pm on 12月 28, 2007 パーマリンク
> fjisoae さん
DLありがとうございます。
簡単なサンプルを現在準備中です。
もうしばらくお待ちください。
また、もしサンプルのリクエストなどありましたら
教えてください。m(__)m
—//
maru 11:26 am on 2月 22, 2008 パーマリンク
Global.asaにado\msado15.dllへのTypeLibを記述すると、On_StartProcess()が、呼ばれないし、OnDraw_XXXは、失敗します。
相性問題でしょうか?
mitsuwo 1:03 pm on 2月 22, 2008 パーマリンク
>maru さん
ご利用ありがとうございます。
ADOを使う場合、定数ライブラリがないと不便ですよね(^^);
ご指摘の件、おそらくは相性問題と思われます。こちらでも再現しており、
現在調査中です。現在の回避方法としましては、
C:\Program Files\Common Files\System\ado にある、
adojavas.inc もしくは adovbs.inc を言語に応じて
個別のaspファイルに include していただくことで対応できます。
Naspのサンプル集 “Nasp Idioms” ではこの方法を使用していますので、
下記よりダウンロードして参考にしてください。
http://www.na-s.jp/Nasp/
よろしくお願いいたします。
nanzono 3:27 am on 3月 3, 2008 パーマリンク
こんにちは。
早速質問ですが、
動的インクルードですが、どのように使うのでしょうか?
静的インクルードのコーディングは、
(#’インクルードファイル名#)
ですよね。
いろいろ想像してやってみたのですが、うまくいきませんでした。。。。
nanzono 4:13 am on 3月 3, 2008 パーマリンク
自己解決しました。orz
NaspのプロパティのIncludeのKey値を指定すればよいのですね。
(#@Includeのキー値#)
ただ、
> Include は Nasp.Processの間のみ生存しています。
ということなので、On_StartProcessなどの、イベント内で値を設定しないといけないのが注意点でしょうか。
こんな理解でよろしいですか?
yrm 9:49 am on 3月 3, 2008 パーマリンク
> nanzono さん
ドキュメント足らずですいません。
はい、nanzonoさんのおっしゃる通りで間違いありません。
Include は Nasp.Processの間のみ生存していますので、
毎リクエスト事にどこかのタイミングで値をセットして下さい。
この件につきましてはドキュメントに追記させていただきます。m(__)m
よろしくお願い致します。
maru 10:01 pm on 4月 15, 2008 パーマリンク
お久しぶりです。
早速質問ですが、FormFileはどのように扱えばよいでしょうか?
ファイルのアップロードを行いたいです。
よろしくお願い致します。
yrm 10:38 am on 4月 16, 2008 パーマリンク
> maru さん
お久しぶりです、yrmです。
ご質問ありがとうございます。
ドキュメント不足で申し訳ございません。
以下に返答させていただきます。
@[Template(HTML)]
@[Script(ASP-VBScript)]
[概要]
まずテンプレートのHTMLのformタグに
enctype=”multipart/form-data”
を指定します。
あとはスクリプト側で
oNasp.Request(“xAruFile”)(1)
にアクセスすればOKです。
oNasp.Request(“xAruFile”)(1) は IFormFile になっています。
“(1)” は “xAruFile の1個目” を意味しており、
今回のようにテンプレート内で “xAruFile” が1つしかない場合でも
明示的に指定するようにしてください。
テンプレートに、
と “xAruFile” が2つある場合には
oNasp.Request(“xAruFile”)(1)
oNasp.Request(“xAruFile”)(2)
でアクセスできることになります。
という感じです。
おわかりいただけますでしょうか?
ご不明な点はご連絡ください。
ご質問ありがとうございます。
Tomo 2:14 pm on 4月 22, 2008 パーマリンク
はじめまして、tomoといいます。
Naspついて質問があります。
サイトの文字コードをUTF-8にしたいのですが、どうすればよいのでしょうか?
TemplateファイルをUTF-8で保存し、
.TemplateCharset = “UTF-8″
としてみましたが、これは、読みこむファイルの書式で、出力とは関係ないようです。
Naspの出力をUTF-8にする方法を教えてください。
habu 6:53 pm on 4月 22, 2008 パーマリンク
> tomoさん。
NaspのASPのResponseで出力しているので、ASPのあたまに
response.codepage=65001
response.charset = “utf-8″
を書くといけますよ。
Tomo 1:39 pm on 4月 23, 2008 パーマリンク
>habuさん。
速攻の回答ありがとうございます。
おかげさまで、UTF-8で出力できました。
ありがとうございました。
nanzono 12:42 pm on 4月 24, 2008 パーマリンク
こんにちは。
Naspは、ASP.NETでも使えるとのことですが、
C#は、「一部制限あり」と記載されています。
VB.NETは、制限があるとは特に記載されていませんが、
C#の制限とはどのような内容なのでしょうか?
(C#のサンプルも欲しいです。。。 :-)
mitsuwo 5:40 pm on 4月 24, 2008 パーマリンク
>nanzono さん
毎度、ご利用ありがとうございます。
Nasp は COM で実装されていますが、COM のオブジェクトは
プログラムの実行時に動的に生成されるため、利用側言語
からみるとコンパイル時には型が確定していないことになります。
C# は基本的にコンパイル時に型を確定する仕様を持った言語なので、
COMコンポーネント一般について、あまり相性の良い言語ではないです。
効率が良いかどうかは別として、C# から COMコンポーネントを
利用する方法がいくつか用意されているので、それらを利用すれば
Nasp と C# を組み合わせて利用することも不可能ではないと考えられます。
現時点では調査も十分でないため「一部制限あり」としています。
考えられる方法としては、
1. リフレクションを使用する
.NET Framework の System.Type や System.Activator の
機能を使用すると、C# でリフレクションができるようです。
ただし、コードが複雑になるためあまりおすすめできません。
2. Runtime Collable Wrapper を作成する
Tlbimp.exe を使用して
「ランタイム呼び出し可能ラッパー (Runtime Collable Wrapper)」
を作成すると、COMコンポーネントを ピュア.NETで作成したライブラリ
のように扱うことができるようになるようです。
ただ、Scripting.Dictionary など Nasp が使用している
他の COMコンポーネントについてもラッパーを作成する必要が
あるようで、いろいろ試しているのですが、まだ成功していません。
C# での開発を検討されているようですが、現状ASP.NETでの開発には
VB.NET の使用をおすすめしています。
Visual Basic は COM の利用側言語として長い歴史を持っている
ため、Naspとの相性もとてもよいです。
私も長い間 C# を使用してASP.NET開発をしていたのですが、
Naspのサンプルを作成するにあたり、VB.NETを使用したところ
意外に便利なことに驚いています。
Webアプリケーションのような高度な保守性を要求される
プログラムの開発には、型の指定を省略してもちゃんと動いてくれる
言語のほうが向いているのではないかと感じているところです。
VB.NET であれば Clasic ASP で使用してきた VBScript と
ほとんどおなじ書き方ができるのも魅力ですね。
ぜひ、ご検討ください。
maru 3:17 am on 5月 27, 2008 パーマリンク
ご無沙汰しております。
変数のTemplateへの出力について、質問があります。
恥ずかしながら、今さら気が付いたのですが、
たとえば、oNasp.View(“hogehoge”)の値をTemplateへ出力する場合、
Template側の記述として、(#*hogehoge#)として、
Html Encodeしながら出力することがよくあると思いますが、
このとき、oNasp.View(“hogehoge”)の値に半角スペースが含まれた場合、
半角スペースがそのまま出力され、ブラウザでのHTMLの解釈として、
連続する半角スペースが無視されてしまうようです。
半角スペースをきちんとブラウザに理解してもらうには、
として出力するのが手っ取り早いのですが、これをコード側で行ってしまうと、
せっかく(#*hogehoge#)を使っても”&”自体がEncodeされ、
そのまま と表示されてしまいます。
結局は、Template側としてHtml Encodeなしの(#/hogehoge#)で
出力しなければならなくなりますよね?
ユーザの入力には、半角スペースが含まれる場合が多々あるため、
その場合、(#*hogehoge#)が使いづらくなってしまいます。
現状のNaspでは、仕方がないことでしょうか?
回避方法がありますでしょうか?
ご教授下さい。
yrm 11:46 am on 5月 27, 2008 パーマリンク
お久しぶりです、yrmです。
おっしゃるとおり半角スペースは (#*xxx#) でもHTMLエンコードされません。
ASPの Server.HTMLEncode も半角スペースはエンコードしない仕様になっており、
Naspも同じ仕様になっています。
そこで、半角スペースもエンコードする自前のエンコード関数を用意して
(#/xxx#) で出力するということになってしまうのですが、
弊社では以下のようにして対処しています。
※DOCTYPE宣言は必要です。
View(“xxx”) にはユーザーの入力内容を生のまま入れておき、
普段どおり (#*xxx#) で出力します。
あとはスタイルシートで “white-space:pre;” を指定するという按配です。
必要に応じて “font-family:monospace;” を併用するのもいいと思いますし、
旧来のHTMLタグ “<pre/>” を使うという手もありかと思います。
もしこれで対処できるのであればこの方法をお勧めいたします。
もしこの対処が不可能な場合は面倒ではありますが自前のエンコード関数と
(#/xxx#) で対処してくださいますようお願いいたします。
このような感じです。
いかがでしょうか?
yrm 12:24 pm on 5月 27, 2008 パーマリンク
OnDraw_ で対処する方法もあります。
という感じです。