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]

Reply via email to