@extends(errorPage) @args org.osgl.mvc.result.ErrorResult _error @if(null != _conf.urlContext() && null == _action.router()) {

@actMsg("e404.url_context.not_match")

@return } @section(moreStyles){ } @import act.route.* @{ List routes = _action.router().debug(); act.route.RouteInfo req = RouteInfo.of(_action); } @def tr(RouteInfo r, String parity) { @r.method() @if (r.method() == "GET") { @r.path() } else { @r.path() } @r.compactHandler() } @{ act.app.SourceInfo sourceInfo = null; act.app.SourceInfo templateSourceInfo = null; if (_error instanceof act.util.ActError) { act.util.ActError actError = (act.util.ActError)_error; sourceInfo = actError.sourceInfo(); if (_error instanceof act.view.RythmTemplateException) { templateSourceInfo = ((act.view.RythmTemplateException) actError).templateSourceInfo(); } } }

@if(null == sourceInfo && null == templateSourceInfo) { @actMsg("e404.cannot_find_handler_in_req", req.method(), req.path()).raw() } @actMsg("e404.route_table")(@actMsg("e404.hide"))

@for(RouteInfo r: routes) {@tr(r, r_parity)}
@actMsg("e404.method") @actMsg("e404.path") @actMsg("e404.handler")
@section(description) { @actMsg("e404.desc") }