例)
HTMLテンプレート中に以下のように記述する。
<SSM ACTION="myaction" FUNCTION="print_hello_10_times" MODE="begin"> 挟まれたテキスト <SSM MODE="end"> |
スクリプトファイル側には以下のように関数を定義しておく。
sub print_hello_10_times($$$){
local (%main::SIG); $SIG{'TERM'} = $SIG{'CHLD'} = $SIG{'KILL'} = $SIG{'INT'} = \&signalhandler; my ($ssmstr, $queryref, $paramref) = @_; my $n=0; while ($n++ < 10){ print "hello! my action is [$paramref->{'action'}], ssmstring is ${ssmstr}<BR>\n"; } #真の終了値で終了 return 1; } |
表示は以下のようになる。
|
上記以外の属性に関しては、関数内で使用するものを自由に設定することができる。
上記以外の属性は、指定しても無視される。
SSM ERROReachprog::print_hello_10_times, |
詳細は、これらのサンプルファイルのコードを参考にして下さい。
テスト用のテンプレート類のコードも参考にして下さい。
<SSM FUNCTION="handle_query" MODE="begin"> <FONT COLOR="#006600" SIZE="+1"> %_sentvalue_% </FONT> <SSM MODE="end"> |
送信された文字列を、全て小文字にして表示(キーワード %_sentvalue_% と置き換え)する関数。
sub handle_query($$$){
local (%main::SIG); $SIG{'TERM'} = $SIG{'CHLD'} = $SIG{'KILL'} = $SIG{'INT'} = \&signalhandler; my ($ssmstr, $queryref, $paramref) = @_; $ssmstr =~ s/%_sentvalue_%/lc($$queryref->Vars->{'sentvalue'})/eg && print $ssmstr; return 1; } |
クリックしてチェック→sample_html.html?sentvalue=UPPERCASESTRING
(ページが再読み込みされたら、ここまでスクロールして下さい。)
|