Saturday, January 5, 2008

Struts 2

Apache Struts2 (S2) is an elegant, extensible framework (originally known as WW2) .It has extensible AJAX support ,easy to Spring integration & has POJO Forms & Actions . Deployment is easy , with plugins such as Tiles, Spring, JFreeCharts etc
The requests are received and is executed via the Filter Dispatcher ,The tags allows creating dynamic webapp .It supports style sheet driven markup . It has MVC architecture

The execution flow includes request sent from the user to which the filterDispatcher determines appropriate action . Interceptors are applied and execution of action takes place.
Output rendering and results are shown to the user. Struts2 uses OGNL for expression language .Value Stack plays an important role in retrieving values (hides different scopes from user)

Validation can be performed declaratively in 3 ways .Basic Validation Performed at the server side orClient Validation (or javascript validation) or Ajax Validation

Interceptors are actions sharing common concern or actions validating input or actions involving pre/post processing .Since these Interceptors are shared objects thry should be thread-safe

Tiles is a templating framework for easy creation of web pages with consistent look and feel
Tiles plugin allows to return Tiles pages .It can also be used with freemarker in addition to Jsps

Object Graph Navigation Language (OGNL) is an expression language to get/set properties of java objects .More pervasively being used to map GUI elements to model objects. Tansformations are made easier by OGNL’s TypeConverter mechanism .A more expressive replacement for property-getting language .

Template is a piece of code, usually written in Freemarker, that is rendered by tags . Freemarker is a template engine used to generate output based on a template .It can be used to generate any kind of text: HTML, XML, RTF, Java source code, etc.

Theme is collection of templates packaged together to provide common functionality. qxhtml’ is an example of wrapping the ‘simple’ theme

Free Domain Names @!