2012-11-07 6 views

Antwort

8

Sie können eine Vorlage definieren, fügen Sie für Ihre benutzerdefinierte Seite mit dem Namen exception.html.ep oder not_found.html.ep am Ende Ihrer LiteApp.

Zum Beispiel:

use Mojolicious::Lite; 
get '/' => sub { 
    my $self = shift; 
    $self->render(text => "Hello."); 
}; 
app->start; 

__DATA__ 
@@ not_found.html.ep 
<!DOCTYPE html> 
<html> 
    <head><title>Page not found</title></head> 
    <body>Page not found <%= $status %></body> 
</html> 

Als Referenz finden Sie in der Mojolicious rendering guide.

Der Renderer wird immer versuchen Ausnahme zu finden. $ Modus. $ Format. * Oder not_found. $ Modus. $ Format. * Vor Vorlagen in den integrierten Standardzurückzufallen.

4

Ich wollte etwas Code in meine Seite 404 laufen, so von hier borgen https://groups.google.com/forum/#!topic/mojolicious/0wzBRnetiHo

ich eine Route aus, die alles fängt und stellte sie nach all meinen anderen Routen, so URLs, die Routen nicht überein fallen durch zu diesem:

any '/(*)' => sub { 
    my $self = shift; 
    $self->res->code(404); 
    $self->res->message('Not Found'); 

    # 404  
    $self->stash({ 
     # ... my stuff in the stash ... 
    }); 

    $self->render('mytemplate', status => 404); 
};