Differences between revisions 2 and 3
Revision 2 as of 2005-09-06 03:49:14
Size: 2493
Editor: EddieONeil
Comment: Add some info about the NetUI JSP tags
Revision 3 as of 2009-09-20 23:12:07
Size: 2509
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
[http://beehive.apache.org/releases/nightly/netui/overview.html Beehive NetUI] also has a tag library that is described [http://beehive.apache.org/releases/nightly/netui/tagsOverview.html here]. We have a similar rendering abstraction as those in WebWork except that NetUI started with rendering abstracted in Java. :) Generally, the NetUI tags build up state bags / JavaBeans and pass those to pluggable renderers that are aware of the targeted markup language. Some tag library highlights: [[http://beehive.apache.org/releases/nightly/netui/overview.html|Beehive NetUI]] also has a tag library that is described [[http://beehive.apache.org/releases/nightly/netui/tagsOverview.html|here]]. We have a similar rendering abstraction as those in WebWork except that NetUI started with rendering abstracted in Java. :) Generally, the NetUI tags build up state bags / JavaBeans and pass those to pluggable renderers that are aware of the targeted markup language. Some tag library highlights:
Line 13: Line 13:
 * [http://beehive.apache.org/releases/nightly/netui/tagsXhtml.html HTML / XHTML] rendering and JSP attribute API. One primary goal of the NetUI tags is to provide fully compliant HTML / XHTML markup while allowing addition of non-specification compliant attributes through the NetUI [http://beehive.apache.org/releases/nightly/apidocs/taglib/index.html attribute] tag.  * [[http://beehive.apache.org/releases/nightly/netui/tagsXhtml.html|HTML / XHTML]] rendering and JSP attribute API. One primary goal of the NetUI tags is to provide fully compliant HTML / XHTML markup while allowing addition of non-specification compliant attributes through the NetUI [[http://beehive.apache.org/releases/nightly/apidocs/taglib/index.html|attribute]] tag.
Line 15: Line 15:
 * good in-line [http://beehive.apache.org/releases/nightly/netui/tagsOverview.html#RuntimeErrors error reporting] at development time  * good in-line [[http://beehive.apache.org/releases/nightly/netui/tagsOverview.html#RuntimeErrors|error reporting]] at development time
Line 17: Line 17:
 * higher-level JSP tag sets for rendering [http://beehive.apache.org/releases/nightly/netui/tagsTree.html trees] / [http://beehive.apache.org/releases/nightly/netui/datagrid.html data grids] / etc.  * higher-level JSP tag sets for rendering [[http://beehive.apache.org/releases/nightly/netui/tagsTree.html|trees]] / [[http://beehive.apache.org/releases/nightly/netui/datagrid.html|data grids]] / etc.
Line 19: Line 19:
 * [http://beehive.apache.org/releases/nightly/netui/databinding.html#implicit-objects-netui integration] with the controller framework in order to provide data binding and data contracts between actions and pages  * [[http://beehive.apache.org/releases/nightly/netui/databinding.html#implicit-objects-netui|integration]] with the controller framework in order to provide data binding and data contracts between actions and pages

JSP Taglibs

Admittedly, this is the area I'm the least knowlegable, however, I'd like to throw out there adopting at least the approach taken by WebWork2 for HTML taglibs.

http://www.opensymphony.com/webwork/wikidocs/JSP%20Tags.html

Rather than generating the HTML directly in the taglib, they delegate that to Velocity templates, allowing the user to have complete control over the output of the JSP tag. What about using that approach as our default, yet somehow allowing for a pure Java version if performance becomes an issue?

Beehive NetUI also has a tag library that is described here. We have a similar rendering abstraction as those in WebWork except that NetUI started with rendering abstracted in Java. :) Generally, the NetUI tags build up state bags / JavaBeans and pass those to pluggable renderers that are aware of the targeted markup language. Some tag library highlights:

  • HTML / XHTML rendering and JSP attribute API. One primary goal of the NetUI tags is to provide fully compliant HTML / XHTML markup while allowing addition of non-specification compliant attributes through the NetUI attribute tag.

  • fully leverages the features available in a JSP 2.0 container. JSP 2.0 provides some great features like the expression language, .tag files, and simple tags among others.
  • good in-line error reporting at development time

  • good framework-level support for JavaScript including infrastructure to collect JavaScript blocks into a single location in the page

  • higher-level JSP tag sets for rendering trees / data grids / etc.

  • tag API for building custom tags leveraging the above
  • integration with the controller framework in order to provide data binding and data contracts between actions and pages

It might not be hard to build a rendering layer in the NetUI tags that delegates to WebWork's Velocity templates...

StrutsTi/JspTags (last edited 2009-09-20 23:12:07 by localhost)