Что это? | Документация | Скачать
Пример обработки акшенов
#!/usr/bin/perl
use CGI::WebOut;
use CGI::WebIn;
use SS2::SS2;
use SS2::Action;
start_headers();
local $a = SS2::Action->new;
$a->add('a1', \&a1);
$a->add('a2', \&a2);
my $page = $IN{page} || '';
my $action = $a->getW($page);
my $subaction = $a->getS($page); # следующее действие
if ($a->exists($action)) {
$a->run($action,$subaction);
}
print "Hello World";
exit;
sub a1 {
my $param = shift;
print "a1 ok \n";
print $param;
}
sub a2 { print "a2 ok"; }
В скрипте задаются два обработчика для двух акшенов — a1 и a2. После получения запроса вида "script.pl?page=a1/b1/c1" в $page будет "a1/b1/c1". $a->getW() дает первую часть этого — "a1", После $a->run() вызовется a1() и ей в качестве параметра передасться "b1/c1"
Таким образом можно задавать различный обработчики для разных действий. Дополнительный параметры они могут получать как ввиду подзапроса (часть после a1/), так и ввиде других переменных в get/post запросе "script.pl?page=a1/b1/c1¶m2=value2"