struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Struts Wiki] Update of "RoughSpots" by Bob Lee
Date Tue, 18 Apr 2006 23:21:53 GMT
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: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Mime
View raw message