Dear Wiki user, You have subscribed to a wiki page or wiki category on "Struts Wiki" for change notification.
The following page has been changed by Bob Lee: http://wiki.apache.org/struts/RoughSpots ------------------------------------------------------------------------------ 1. On the OGNL value stack `#request` refers to request attributes and `#parameters` refers to the parameters. I think we should rename these `#request` for request parameters and `#requestAttributes` for request attributes. + 1. Warnings and failing siltently sucks. For example, if we can't find a method in a given action class, blow up ASAP (at load time). We shouldn't be fuzzy and do stuff like try to find a method named `doXxx()` when we can't find a method named `xxx()` (WebWork had backward compatibility restrictions, but we don't need to perpetuate them). + + 1. Add better support for file uploads. + + 1. Don't eat/wrap exceptions. Throw them through to the container. Don't eat exceptions that occur in getters. + + 1. Modify `ParametersInterceptor` to sort parameter names by depth (using bucket sort) and then map them in that order (shallowest first), so we can create objects and then map fields to those objects in the same action invocation without hacks like applying the `ParametersInterceptor` twice or chaining. + == Nice to haves == - 1. Inheritance is a sucky way to reuse code between actions. It would be nice if the framework had built-in support for mixins using cglib or Spring. For example, instead of me extending a class that implements `ValidationAware`, Struts can extends my action class at runtime and implement the `ValidationAware` methods by delegating them to another object (a mixin): {{{ + 1. Inheritance is a sucky way to reuse code between actions. I've actually had to use the strategy pattern to swap in different implementations of stuff like `ValidationAware`. It would be nice if the framework had built-in support for mixins using cglib or Spring. For example, instead of me extending a class that implements `ValidationAware`, Struts can extend my action class at runtime and implement the `ValidationAware` methods by delegating them to another object (a mixin): {{{ abstract class MyAction implements Validateable, ValidationAware { public void validate() { addActionError(...); } } - }}} + }}} You could specify mixin implementation classes by convention (defaults), in the `struts.xml`, or using annotations. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]