Mercurial > pub > Impl
view Lib/Engine/Output/Page.pm @ 106:83e356614c1e
DOM Builder now is a navigator like SimpleBuilder
PostToDOM transformation
author | wizard |
---|---|
date | Wed, 12 May 2010 17:52:12 +0400 |
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;