Pages
Pages in WebDSL can be defined using the following construct:
define page [pagename]( [page-arguments]* ){ [page-elements]* }
There are basic output elements for structure and layout of the page, such as title and header.
Example:
define page root() {
title { "Page title" }
section {
header{ "Hello world." }
"Greetings to you."
}
}
Page Parameters
Pages can have parameters, and output is used for inserting data values.
Example:
define page user(u : User) {
"The name of this user is " output(u.name)
}
Input Forms
The form element in combination with submit is used for submitting data. input elements perform automatic data binding upon submit. For more information about forms, go to the Form page.
Example:
define page editUser(u:User){
form{
input(u.name)
submit action{} { "save" }
}
}
Templates
Pages can be made reusable by declaring them as template, and calling them from other pages or templates.
Example:
define common(){
header{ "my page" }
}
define page root(){
common()
}
