Archive for the ‘Portlet Support’ Category

Struts2 in production - beware of experimental features

Thursday, January 17th, 2008

Struts2 is a production quality Web framework. Many architects including me have been using it on many production Web systems across the world. But you need to be careful when using experimental features in Struts2 in a production system. They are undergoing rapid changes and when you upgrade, you might have to change your code!

For example, out of the box portlet support is one of the major experimental features. If your application is designed keeping the portal enviornment in mind (separate render and action requests) you can easily port your Struts2 application to portlet environment such as JetSpeed and JBoss portal. But portlet usage is different between 2.0.9 and 2.0.11 versions of Struts2! That means you will have to rework some of the code written in Struts 2.0.9 to get it working in 2.0.11.

Similar is the case with Ajax tags such as the Ajax div tag which uses Dojo. These are undergoing rapid changes and new attributes and behavior is added to these tags. So be prepared for some migration effort if you are using them in Struts 2.0.9/2.0.11 and want to move to Struts 2.1.

Main experimental features as of Struts 2.0.11 are cookie interceptor, portlet support, ajax theme, SEO friendly URL support and new plugins such as Tiles plugin. Hopefully most of these will stabilize by Struts 2.1 release.