facet classafPillow::Page
sys::Obj afPillow::Page : sys::Facet
@FacetMeta { inherited=true }@Serializable
Place on a EfanComponent to define a Pillow web page.
- contentType
const MimeType? contentTypeUse to set an explicit
Content-Typethe page should be served with. TheContent-Typeis set in the HTTP response header.using afPillow using afEfanXtra @Page { contentType=MimeType("text/plain") } const mixin Matrix : EfanComponent { ... }- disableRouting
const Bool disableRouting := falseIf
truethen Page Routes, including events and welcome page redirects, are not added to BedSheet.Defaults to
false- httpMethod
const Str httpMethod := "GET HEAD"The HTTP method the Page should respond to.
Defaults to
GET HEAD- template
const Uri? templateBy default,
pillowlooks for a template with the same name as the page class.Use this to explicitly set the location of efan template. The URI may take several forms:
- if fully qualified, the template is resolved, e.g.
fan://acmePod/templates/Notice.efan - if relative, the template is assumed to be on the file system, e.g.
etc/templates/Notice.efan - if absolute, the template is assumed to be a pod resource, e.g.
/templates/Notice.efan
- if fully qualified, the template is resolved, e.g.
- url
const Uri? urlUse to map the page to a specific URL. Page URLs should start with a leading /slash/. Example:
using afEfanXtra using afPillow @Page { url=`/matrix_explained.html` } const mixin Matrix : EfanComponent { ... }The URL is a standard route glob and should contain an asterisk for every page context required. e.g.
/user/*