Saturday, February 9th, 2008
If you have been developing Struts2 applications in version <= 2.0.9, there are two important compatibility issues that you must address before you can upgrade to 2.0.11 or 2.1. These are the portlet compatibility issues and EL expression issue in Struts2 tags.
1. Struts 2.0.9 contained a major security issue as detailed here. The problem was that using EL expressions and OGNL tags at the same time in Struts2 tags, malicious code could be executed. The fix in 2.0.11 was to disable EL expressions completely(!). This means that code written in 2.0.9 will break in 2.0.11 if you have used EL expressions in JSP. If you have a well tested production system, this means total nightmare. Well, now you are between devil and the sea!
2. Portlet support is undergoing drastic changes. If you have already developed your portlet application in 2.0.9, you will have to do a couple of changes before you can move to 2.0.11 or 2.1. This includes changes in web.xml.
Posted in Migrating, Struts 2.0.11 | No Comments »
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.
Posted in Migrating, Portlet Support, Struts2 Tips | 2 Comments »