Mercurial > pub > Impl
view Lib/Engine/Output/Page.pm @ 57:bf59ee1cd506
Web application main class functionality
author | wizard |
---|---|
date | Fri, 05 Mar 2010 13:59:29 +0300 |
parents | 16ada169ca75 |
children |
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;