Mercurial > pub > Impl
view Lib/Engine/Output/Page.pm @ 18:818c74b038ae
DOM Schema + tests
author | Sergey |
---|---|
date | Thu, 10 Sep 2009 17:42:47 +0400 |
parents | 03e58a454b20 |
children | 16ada169ca75 |
line wrap: on
line source
package Engine; our $Encoding; package Engine::Output::Page; use strict; use Common; use DOM; sub Print { my ($class,$Query,$Action) = @_; if (DOM::Site->can('LoadPage')) { my $pageId = $Action->RequestURI->path; DOM::Site->RegisterObject("Request",$Action); my $Page = DOM::Site->LoadPage($pageId); print $Query->header(-status => 200); undef $@; eval { $Page->Properties->{Encoding} = $Engine::Encoding; $Page->Render(*STDOUT); }; if ($@) { print $Query->start_html('Error processing template'); print $Query->p("Page: $pageId"); print $Query->p("Error: $@"); print $Query->end_html; } } else { die new Exception('The site doesn\'t support page output'); } } 1;