Tapestry Overview
Component-based
Minimizes java coding
Developer Focused
Benefits
Simplified, readable HTML
True separation of MVC
minimal java coding
Great I18N
Great developer feedback (fix)
True component reuse
Simple Forms
Login page
WAR layout
Page is three:
HTML file, the view
Java Code
XML file that tie two together
Start with Plain HTML
Mark tags as components by giving them the jwcid attrs. There is a
standard set of components that can be bound to html elements
OGNL does the value binding with the value attribute.
Create the XML part.
Identifies the java class
(problem) three artifacts for the page
Create the Java Part
Q.1 Is there a scoped namespace facility?
Listeners are constrained to be a certain type.
Q.2 Are there any other kinds of listeners?
Has the concept of an active page.
Validation
Error message is per page. Can there be per-component error
messages? Yes. He mentions lots of things that can be done with the
implementation. More components.
Client side validation, is easy to do. Just turn it on.
Has conditional tags. This is done by having <span> with id
(copy) When displaying the error page:
Line precise error message
Display evey possible piece of info you have. Query params, system
properties, etc.
Only do this during development.
The incorrect page pooling problem shouldn't happen
Q.3: Are all beans defined in .page files? Can you have app session,
scoped beans?
Mega Components
Table Component
They have per-cell renderer.
Palette: does some AJAX stuff
Principles
Simplicity
Consistency
Efficiency
Feedback