On 12.Feb.2002 -- 02:34 PM, Torsten Curdt wrote:
> While working with actions something bugs me more and more... For each
> very simple action you need to have a new class. Although it might be just
> a few lines for each, it becomes really ugly when you share code with
> other actions or need to call an action from an action. Plus having
> thousand of action class for a single webapp. Sure this all possible and
> one can say:  then use helper classes that hold all the shared code. But
> well - possible does not mean confortable.
> 
> IIRC with Turbine e.g. it is way more confortable. They use
> "methods as actions":
> 
>   class SomeActions {
> 
>     public void doMyAction(..) {
>     ...
> 
> (I'm not quite sure about the arguments and stuff though)
> This helps to have all related code at a glance.
> Although I'm not yet sure what syntax should be prefered
> 
> 1.  <map:action type="SomeActions.doMyAction">
>     <!-- directly use the method -->
> 
> 2.  <map:action type="SomeActions.MyAction">
>     <!-- have a fix prefix like "do" -->
> 
> 3.  <map:action type="SomeActions" method="doMyAction">
> 
> 4.  <map:action type="SomeActions" method="MyAction">
> 

5. <map:act type="SomeAction>
      <map:parameter name="do" value="MyAction"/>
   </map:action>

Which is currently possible. Afterall, no one prevents you from
dispatching different methods from your act method. It might be nice
to have a sample implementation, though.

You could even have an default value for @do and define several
actions...

This has two short comings:

a) syntax is too verbose
b) when creating multiple "aliases" for an action with different
   default values for @do it would result in seperate instance of that
   class while Torsten's proposal would share the same
   instance. (Hence the term "alias" is not correct!)

IMHO it would be cool to have a simple syntax for handing *exactly
one* parameter to any component without the need to nest a
<map:parameter/> element.

But then, the sitemap is probably going to be edited with a tool
anyway. Plus the syntax as is is clear and changes would need to
achieve the same clarity.

Just my 2¢

        Chris.

-- 
C h r i s t i a n       H a u l
[EMAIL PROTECTED]
    fingerprint: 99B0 1D9D 7919 644A 4837  7D73 FEF9 6856 335A 9E08

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to