Webwork provides a tag library decoupled from the view technology. In this section, we describe each tag in general terms, such as the attributes it supports, what the behaviors are, etc. Most tags are supported in all template languages (see JSP Tags, Velocity Tags, and FreeMarker Tags), but some are currently only specific to one language. Whenever a tag doesn't have complete support for every langauge, it will be noted in the reference documents. The types of tags can be broken in to two types: general and HTML. Besides function and responsibility, the biggest difference between the general tags and the HTML tags is the fact that the HTML tags support templates and themes. In addition to the general tag reference, we also provide examples for using these generic tags in each of the support languages.
General TagsGeneral tags are used for controlling the execution flow when your pages render. They also allow for data extraction from places other than your action or the value stack, such as Internationalization, JavaBeans, and including additional URLs or action executions.
HTML TagsUnlike the general tags, the HTML tags do not provide much control structure or logic. Rather, they are focussed on using data, either from your action/value stack or from the Data Tags, and displaying it in rich and reusable HTML. All HTML tags have a unique behavior that they are driven by templates and themes. While the general tags simply output some content directly from the tag (if there is any content to output), the HTML tags defer to a template, often grouped together as a theme, to do the actual rendering. This unique template support allows for you to use the HTML tags to build a rich set of reusable UI components that fit your exact requirements. Please read the Themes and Templates guide for more information on this powerful feature.
Language Specific Tag SupportWebWork strives to support whatever environment you are most comfortable working in. That is why WebWork does not require a single template language, but instead allows for almost any common language to be used and even provides hooks for new languages. By default, almost every single tag is supported in JSP, Velocity, and FreeMarker. In each of these sections, you'll find examples and techniques for applying the generic tag reference toward your specific language or template choice.
|