Differences between Struts 1.1 and 1.2:-
1) Adviced for replacement of ActionErrors with ActionMessages
2) org.apache.struts.Action statics: Use org.apache.struts.Global statics instead
3) Many utility methods previously found in org.apache.struts.utils.RequestUtils have been moved to org.apache.struts.taglibs.TagUtils or org.apache.struts.utils.ModuleUtils.
4) Introduction of MappingDispatchAction : A new standard Action that dispatches to a method named by the ActionMapping parameter.
5) Introduction of DigestingPlugIn - A new standard PlugIn that helps you create your own object graph in application scope. This is handy way to create business objects for Actions to call.
6) Addition of Action attributes - An Action attribute has been added to the html img tag, to match what's available on the html link tag now.
7) Additon of Module attribute - A new "module" attribute is available on the forward element as well as several of the core tags. This attribute allows you to specify another module by name (or "prefix") to create direct links between modules. The new module attribute is preferered to the contextRelative attribute and can often be used in lieu of a "SwitchAction".