WebWork - WebWork - WebWork 2.2

WebWork 2.2 Release Notes

Key Changes

Productivity enhancements

Tools

  • Fully functional WebFlow support for JSP, FreeMarker, and Velocity
  • QuickStart: simple embedded application server for getting started immediately

Documentation

  • Improved documentation, including detailed information for every interceptor
  • Totally new example application: now the example application is a set of tutorials and only teaches best practices of WebWork, rather than every single feature.

Enhanced framework feedback

  • Better and more intelligent error reporting
  • "Developer" mode where inline errors are displayed when possible
  • Common interceptor stack issues, such as validation+workflow with no "input" result, are now reported in a more obvious way

Other

  • Deprecated WebWork IoC container in favor of Spring
  • Built-in support for Spring
  • Official support for wizards/workflows using the Scope Interceptor and a pre-release of Continuations
  • Removed support for WebWork 1.x migration jar

User interface improvements

UI tag overhaul

  • FreeMarker is now the default UI tag implementation
  • Refactored UI tag base classes such that they are no longer tied to JSP
  • New native Velocity and FreeMarker UI tag support, built on top of new base classes
  • UI tags now use "altSyntax" (available since 2.1.4) as the default syntax (the 2.0 - 2.1 syntax is deprecated but still available)
  • New Head tag that links the correct CSS and JavaScript files for each theme

Velocity Support Improvements

  • Upgraded support to velocity 1.4
  • webwork.velocity.contexts now chains contexts on each request, i.e. contexts do not need to be thread-safe

AJAX support

  • Official support for client side validation using DWR
  • New tabbed panel widget
  • Built in support for Dojo wdigets

Result changes

  • Velocity and FreeMarker Servlets are now deprecated in favor of direct results

Other

  • Easy way to invoke different action name or command, making forms with multiple buttons easy to use
  • Initial JSR168 integration

Core API changes

Type conversion

  • Typing support in Maps, Sets, and Lists is now supported even when the collection is not null
  • Map type conversion support for keys and values
  • Support for Java 5 generics and annotations for Collections and enums

Other

  • Improved exception handling, with support for exception-to-result mapping in xwork.xml
  • Parameters interceptor updated to let you include and/or exclude certain parameters, thereby providing a simple way to secure what data can be changed from the web

Migration Notes

WebWork 2.2 is the most significant release since the 2.0 release two years ago. There are some significant changes, deprecated items, and various issues to be aware of when upgrading or if you're just curious what is new. Please see the WebWork 2.2 Migration Notes for more info.

Changelog

For a complete list of all the changes, please refer to the complete changelog

OpenSymphony JIRA (328 issues)
T Key Summary
Bug WW-1078 Broken links in Shopping-Cart
Bug WW-1077 setting theme in page, context, or session scope has not effect
Task WW-1076 Move all Velocity templates to archive
Task WW-1075 url validator docs
Task WW-1074 AJAX docs screwed up
Task WW-1073 control tags docs snippets are borken
Bug WW-1072 select.ftl emptyOption evaluation
Bug WW-1071 DoubleSelect's second select does not allow a predefined value to be selected
Bug WW-1070 double select created option with key and value wrongly
Improvement WW-1069 Ability to use freemarker map built-ins (?keys, ?values) as well as plain map methods (.keySet(), get(foo))
Improvement WW-1065 TestCase for the Property component
Task WW-1064 have a link in tags page to altsyntax page
New Feature WW-1062 Add a OptionTransferSelect component
Bug WW-1061 checkboxlist.ftl does not allow disabled parameter handling in WW2.2beta4
Task WW-1059 Make the dojo configuration in ww:head hook into the il8n infrastructure
Bug WW-1058 xhtml theme's form-validate.ftl onsubmit javascript is bad
Bug WW-1057 DefaultActionMapper appending extra slash when namespace is "/"
Improvement WW-1056 Change defaultStack order
Improvement WW-1055 Warn when properties are null
Task WW-1054 Include common build in project
Task WW-1053 AJAX Validation Documentation
Bug WW-1052 Always cleanup ActionContext
Improvement WW-1051 Enable tag attribute description to be usable for both javadoc and tagdoclet
Task WW-1050 Add DWR 1.1-beta2 jar to ivy-repository
Bug WW-1049 ChainingInterceptor doesn't accept null of CompoundRoot element
Bug WW-1048 RemoteCallUIBean uses UrlHelper to build url for href attribute breaks <ww:a /> tag
Bug WW-1047 Fix broken locale files of jscalendar
Bug WW-1046 DefaultActionMapper ignores the root ("/") namespace
Improvement WW-1045 Include datepicker css in new ww:head tag
New Feature WW-1044 Add a fielderror tag to display field errors if exist
Bug WW-1043 Validation Errors with DWR (AJAX Tutorial)
Bug WW-1041 Showcase - Edit Employee form broken
Improvement WW-1036 Include datepicker css in new ww:head tag
New Feature WW-1035 Add a actionerror tag that will display action error if they exist
Improvement WW-1034 Datepicker uses wrong date format for en locales
Improvement WW-1033 Generate tld attribute descriptions from property javadoc
Task WW-1032 Document new head tag
Bug WW-1031 Remote forms don't work with new dojo
Improvement WW-1030 Loading Freemarker templates with the ActionContext's Locale
Bug WW-1025 Showcase example: Spring throws strange exception while wiring action instance
Bug WW-1024 dist build target is broken, webapps are not longer packaged
Bug WW-1023 Item keys should use findValue
Bug WW-1022 A tag doesn't work with params
Bug WW-1021 VelocityTools 1.2 ToolboxManager implementation causes NPE in VelocityManager
Improvement WW-1020 Consolidate ww:a and ww:href tag into ww:a
New Feature WW-1019 Pico/nano integration
Task WW-1017 Update DOJO to release 0.20
Improvement WW-1016 Merge Quick Start Guide into Getting Started document
Bug WW-1015 Cannot create Portlet instance com.opensymphony.webwork.portlet.WebWorkPortlet for Portlet Application webwork
Bug WW-1014 i18n reloading in Tomcat
Bug WW-1013 Typo!
Bug WW-1012 tabbedpanel-close.ftl is broken due to iterator refactoring
Bug WW-1010 AbstractListTag no longer allows nulls for the list attribute
Task WW-1009 AJAX tutorial broken
Bug WW-1008 Iterator tag throwing NullPointer
Task WW-1007 SiteMesh docs out of date
Task WW-1006 Java 5 support
Task WW-1005 Action chaining docs
Task WW-1004 OGNL docs need new examples
Task WW-1002 I18n docs out of date
Task WW-1001 Client side validation
Task WW-1000 Validation examples outdated
Task WW-999 Make all result types based on snippets
Task WW-998 Document Exception Handling
Task WW-997 document for each validators type its usage, parameter and example using snippet
Bug WW-996 Type conversion not working for map
Task WW-995 Please update documentation for the FileUploadInterceptor - allowedTypes parameter.
Bug WW-994 Component based IteratorTag never prints out is body
Task WW-993 Add Exception Mappings to Config Browser
Bug WW-991 FilterDispatcher setup and cleanup non-webwork request
Bug WW-990 is extremely unhelpful for new people a exception thrown message
Bug WW-989 WW Action Tag does not go through ActionMapper
Improvement WW-987 org.opensymphony used in text constants instead of com.opensymphony
Improvement WW-986 Re-add uri declaration in WW 2.2 tld
Bug WW-985 New FM templates don't support booleans very well
Task WW-984 Please define the scope interceptor in webwork-default.xml
Bug WW-983 option values are locale specific formatted - should only be HTML escaped.
Bug WW-982 Quickstart broken on OS X
Improvement WW-981 Calls made to Configuration instances are not centralized constants.
Task WW-979 Verify on WebLogic 9.0
Bug WW-978 ww:sort ww:generator and ww:subset tags are broken
Bug WW-977 Input and Output streams not closed in StreamResult
Bug WW-976 WW Portlets can't be deployed in Liferay or JBoss Portal
Bug WW-975 Snippet macro doing weird things with text tag
Bug WW-974 set useAltSyntax problem
Improvement WW-973 Make datepicker locale aware
Bug WW-972 ww:property tag does not recognize alt-syntax
Improvement WW-971 Setup XDoclet to build tag documentation and tld from component sources
Bug WW-969 Fix Subset Tag
Bug WW-968 Fix Append Tag
Bug WW-967 Fix Merge Tag
Bug WW-966 i18n issue, locale is randomly switched
Bug WW-965 Fix WW Generator Tag
Improvement WW-964 Support for JasperReports 1.1.0
Improvement WW-963 Add overridable publishException method to ExceptionMappingInterceptor
Bug WW-961 chainStack defined twice in webwork-defaults.xml
Bug WW-960 Action tag does not do include properly
Bug WW-957 TabbedPaneTag doesn't have openTemplate setter
Bug WW-956 UIBean NPE with ww.submit tag
Improvement WW-955 Switch to using [ and ] in Freemarker templates
Bug WW-954 Freemarker does not handle map correctly, cant lookup value
Bug WW-953 Very bad performance using new WW 2.2 tags
Bug WW-952 Superflous logging with config-browser
Bug WW-951 Config browser problem
Bug WW-950 config-browser showConfig.action not work
Improvement WW-949 UI Form element should support theme attribute
Improvement WW-948 Make build from distribution package self-contained
Bug WW-947 Sample webapps build process is broken in the distribution
Task WW-946 File interceptor should allow all files unless otherwise specified
Bug WW-944 Disabled namespace attribute when not using AJAX validation
Bug WW-943 AJAX validation and devMode don't play nice
Bug WW-941 Cleanup and SiteMesh problems
Bug WW-940 Dates cause problem with UI tags in FM
Improvement WW-939 Clean-up the Release Notes
Bug WW-938 WW:Sort Tag is not working
Bug WW-937 theme css_xhtml is missing form-close.ftl
Bug WW-936 problem with ww:form tag
New Feature WW-933 Add a page to test all UI components
Task WW-931 Add dojo Color-Chooser functionality.
Bug WW-930 ClassCastException in WW2 label tag rendering when value expression evaluates to a non-String type
Bug WW-929 Freemarker rendering of input tags should not apply locale formatting
Bug WW-928 Seems like download page gives wrong file of ww 2.2 beta 2
Bug WW-927 ww 2.2 beta binaries is available for downloading, but xwork 1.1 is not
Bug WW-926 Type conversion fails with ModelDriven actions
Task WW-925 Document the config-browser in Related Tools
Task WW-923 Fix up validation documentation
Bug WW-921 Defect in com.opensymphony.webwork.views.util.ResourceUtil
Bug WW-920 Missing attribute for ww:form tag
Bug WW-919 Bug in DefaultActionMapper (could be Weblogic specific)
Bug WW-918 Setting webwork locale or Action locale has no effect on JasperReports result
Bug WW-917 HttpServletRequest locale/encoding problem